Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Tiedon etsiminen

Sivun loppuun

Vasta_alkaja [09.03.2008 21:25:39]

#

Hei,

Ongelmani on se, että minulla on esim taulu.

        ma  ti  ke  to  pe  la  su
asia 1 [  ][  ][  ][  ][  ][  ][  ]
asia 2 [  ][  ][  ][  ][**][  ][  ]
asia 3 [  ][**][  ][  ][  ][  ][  ]

Miten löydän tästä taulusta esim nuo ** merkityt kohdat.
Suurin ongelma on siinä, että käyttäjän tulisi voida lisätä lisää asioita.

asia 4 [  ][**][  ][  ][  ][  ][  ]
asia 5 [  ][**][  ][  ][  ][**][  ]

Antti Laaksonen [09.03.2008 21:45:52]

#

Kerro vähän tarkemmin, mitä olet tekemässä. Ovatko tiedot tietokannassa vai jossain muualla? Tarkoittaako etsiminen, että esim. ylemmässä tilanteessa pitäisi ilmoittaa "** kuuluu asiaan 2 perjantaina ja asiaan 3 tiistaina"? Mitä käyttäjät tekevät järjestelmässä?

Vasta_alkaja [10.03.2008 07:09:59]

#

Sorry huono sepostukseni..


Asia 1,2,3,4,5 on niin sanotusti työtehtäviä, joita voidaan järjestelmään lisätä.
Nuo [ ] ovat input kenttiä, joihin käyttäjä voi laittaa syötteen sekä tallentaa sen tietokantaan. Eli merkata onko työtehtävä tehty. Ensin ajattelin valintaruutuja, mutta input kenttiin voisi kirjoittaa nimensä, joten se oli parempi vaihtoehto.

Nuo [ ] ovat jokainen oman td:n sisällä.

Eli käytännössä tarkoitus olisi ylläpitää viikottaisia työtehtäviä. Työtehtiviä tulee voida merkata suoritetuksi sekä lisätä järjestelmään.

Apunani on tietokanta sekä käytän php kieltä.

pistemies [10.03.2008 13:43:09]

#

Ymmärsinkö oikein, että noilla Asia 1,2,3 jne on tietokannassa oma id-numeronsa?

Vähän tähän tapaan:

$result = mysql_query("SELECT * FROM taulu WHERE ma !=''");

Tämä esimerkki tutkii maanantain tapahtumat. Tuohon voi lisätä hakuja jne.

Vasta_alkaja [10.03.2008 16:54:42]

#

jep

Antti Laaksonen [10.03.2008 17:41:52]

#

Tietokannan rakenne voisi olla sellainen, että jokainen merkintä on oma rivinsä.

Esim. taulut voisivat olla "tehtavat" ja "merkinnat" seuraavaan tapaan:

asiaid    nimi
--------------------
1         siivous
2         nuohous
3         tiskaus
asiaid    pvm       merkinta
------------------------------
2         2.3.08    JP
2         4.3.08    AS
3         2.3.08    JP

Muutin viikonpäivän päivämääräksi, koska varmaan on tarkoitus, että järjestelmää käytetään yli viikko.

Uuden tehtävän lisäys:

INSERT INTO tehtavat (asiaid, nimi) VALUES (4, 'maalaus')

Uuden merkinnän lisäys:

INSERT INTO merkinnat (asiaid, pvm, merkinta) VALUES (1, '7.3.08', 'KK')

Tietyn henkilön merkintöjen haku:

SELECT asiaid, pvm FROM merkinnat WHERE merkinta = 'JP'

Näistä on varmaan apua SQL:n kanssa, mutta mietityttääkö sinua jokin PHP-osuudessa?

Vasta_alkaja [10.03.2008 20:24:54]

#

Juuri tuota sql- osiota mietin.

Vasta_alkaja [10.03.2008 22:02:59]

#

Tuommoiseen tulokseen tulin, onko mitään järkeä.

name='tyotehtavat[$id][{$i}{$this->Viikko}{$this->Vuosi}]'

/------------/

foreach($_REQUEST['tyotehtavat'] as $viikko => $viikkoData)
{
  foreach($viikkoData as $paiva => $data)
  {
    if(!empty($data))
    {
      $k = "INSERT INTO .....";
    }
  }
}

Hakoulinen [10.03.2008 22:29:18]

#

No älä nyt ainakaan REQUESTia käytä. $_POST tai $_GET ovat oikeat muuttujat

tsuriga [10.03.2008 22:42:02]

#

Osittain OT?: Tässä tilanteessa järkevin vaihtoehto on varmaankin $_POST, varsinkin jos työtehtävillä voi olla pitkät selostukset. Vaihto $_REQUEST -> $_POST auttaa selkiyttämään koodin toimintaa, kun ei tarvitse miettiä mahdollisia päällekkäisyyksiä keksimuuttujien ($_COOKIE) tai URL-parametrien ($_GET) kanssa. Lisäksi silmukkasi ylikirjoittaa aina $k-muuttujan (ellei se sitten olekin tarkoitus). Lisäksi $k olisi hyvä esitellä ylimmässä(?) lohkossa, jossa sitä käytetään.

Vasta_alkaja [11.03.2008 21:06:07]

#

Kasasin ton insertin tilalla tiedot ensin kaikki muuttujaan ja sitten pistin values kyselyllä kantaan yhdellä kertaa.. Joo, mutta tuo ei ollut tämän kertainen asia.

Tuli tämän saman ongelman myötä mieleen, että miten voisi tarkistaa montako viikkoa on kyseessä olevassa vuodessa. Tämä ei ole vielä kiireinen, vaihtuuhan vuosi vasta muutaman kuukauden päästä. ( 9kk ).. Mutta muuten olisi ihan mielenkiintoinen tuota lähteä ratkomaan. En saanut oikein apua date funktiosta tai sitten en tajunnut tarpeeksi.

Olga [11.03.2008 21:18:12]

#

https://www.php.net/manual/en/function.date.php­#80629


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta