Eli tarvitsisin taulukon, jossa on kuusi alkiota ja jokaiseen alkioon pitäisi saada oma nelialkioinen taulukko. Onnistuuko tällainen mitenkään?
taulukkoon taulukko
PHP_ummikko
7375
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 7
Vanhimmat
sisäkkäiset taulukot onnistuu, lähes jokaisella kielellä ihan peruskauraa, sen kun teet niin.
eli olen muuttamassa tätä varaus-kalenteria http://www.ohjelmointiputka.net/koodit_nayta.php?tunnus=1069
sellaiseksi, että näkymä on kerralla vain yhden päivän ja sinä yhtenä näkyvänä päivänä voi varata kuutta eri tenniskenttää.
// Haetaan päivän tiedot $result-array-muuttujaan
$query = "SELECT * FROM ".$table[$n]." WHERE aloitus >= ".$day." AND lopetus
tuo haku hakee ilmeisesti KAIKKI varaukset tuolta $n taulusta vai onko yhden kentän varaukset aina kentän omassa taulussa?
En ymmärrä miksi jokaisen kentän varauksille olisi oma taulunsa, kun varaukset ovat samanlaisia.
Varaukset-taulussa ois kaikki varaukset. Kentta-taulussa olis kaikki kentät.
Varaus sidotaan tiettyyn kenttään lisäämällä yhden varauksen tietoihin aina kenttaid = kentan numero
Sitten vaan select * from Varaukset,Kentta where Varaukset.kenttaid = Kentta.id order by Kentta.id;
Haussa tulis kaikki varaukset järjestettynä kentän numeron mukaan.
kiitos paljon, enpä noin osannut ajatella tuota, tai lähinnä kai yritin päästä helpolla tms.
Mutta tuli vielä sellainen mieleen, että eikös tuon voisi toteuttaa kokonaan yhdellä taululla, siten että siellä olisi yksi sarake joka olisi kenttä id ja se saisi arvoja vaikka 1-6 eli se jo suoraan ilmottaisi mistä kentästä on kyse? Vai onko tolle kentta-taulun käytölle jokin peruste? Entä miten tuo haku tapahtuisi, jos ei olisi kentta-taulua?
Miten muuten esim tuossa kun siirretään haku tuohon taulukkoon $result[] = $res; niin millaisena se taulukko on? Eli jos tuo haku kohdistuisi taulukossa esim sarakkeisiin varauksen_alku ja varauksen_loppu (oletetaan siis että sellaiset löytyisi), niin tekisikö se jotenkin moniulotteisen taulukon tyyliin
array( array(varauksen_alku => 1435,
varauksen_loppu => 1433, ), array( varauksen_alku => 1545,
varauksen_loppu => 145433,
),
array( varauksen_alku => 1435,
varauksen_loppu => 1433,
) )
vai miten se tekisi sen ? Kiitos taas.
..asioiden toteuttamiseen tässäkin tapauksessa tietue rakentein ja taulukoinnin keinoin, on monia tapoja, riippuu aina mikä on päämäärä ja mikä kulloinkin on tehokkain ja järkevin ja mitä tavoitellaan, tässä tapauksessa neuvoisin miettimään taulujen relaatiot ja rakenteet huolellisesti, säästyy monelta mieliharmilta, vaikka mieli palaakin itse kooodia vääntämään.
no tässä tapauksessa en todellakaan pysty sanomaan mikä on haluttuun päämäärään nähden järkevin ja tehokkain tapa. sen verran vähän aikaa olen vasta php:n ja mysql:n kanssa touhunnut.. kokemusta pitäisi varmasti olla enemmän, mutta jostakin se on opeteltava ja tämän tehtävän aion viedä loppuun vaikka väkisin, eiköhän siinä matkalla jotain opi ;)
Jos joku voisi vähän selventää tuota taulukko asiaa tarkoitukseni pohjalta, eli olisi tarkoitus kirjata tietyn kestoisia varauksia yhdelle päivälle kerrallaan, ja kuusi tenniskenttää käytettävissä... Eli ajattelin luoda sitten myöhemmin vielä taulun henkilöille jotka varaavat ja sieltä löytyisi yhteystiedot jne ja sitten tunniste lisättäisiin tuohon varaustauluun. Mutta nyt siis tarvitsisin vielä mielipidettä tenniskentistä. Olisiko järkevää laittaa vain tuohon varaustauluu aina mistä tenniskentästä kyse, vai tarvitseeko sitä kentta-taulua johonkin? hmm.. nyt ei oikein ajatus enää luista tässä :) Kun alunperin tosiaan mietin jotenkin liikaa tän alkuperäisen koodin kautta ja päätin että teen kuusi varaustaulua, joista jokainen edustaa yhtä rataa.
..vähän kun pinnistelee ja miettii mitä sitten, mihin sitä tietoa tarvitaan tai mahdollisesti jatkossa tullaan käyttämään, niin asiat selkenee ehkä, me emme tiedä kokonaisuutta, eikä ehkä sitä toisen puolesta tulla miettimään, kun täällä vapaaehtoisesti neuvotaan.
Mutta aloitelija tai ei, niin jos on jo päätetty että homma perustuu tietokantaan, niin silloin ehdotan, että ne kannattaa miettiä huolella, sillä tarvittaessa eri taulujen yhdisteleminen, ryhmittäminen on helppoa, tietokantaan perustuvassa systeemissä se kanta on selkäranka, mitä paremmin se on suunniteltu sitä paremmin ja helpommin homma toimii, kukaan ei tule valmista ratkaisua toimittamaan, siis opiskelemaan, tässä tapauksessa ehdotan tutustumaan pelkän SELECT lauseen lisäksi JOIN ja GROUP lausekkeisiin, silloin ehkä tarvittava rakennekkin aukenee paremmin.
Netistä löytyy esimerkkejä ihan myös suomenkielellä, tuossa ihan suositeltava perus opassaitti, perus apuakin sieltä foorumilta varmasti saa paremmin kuin täällä.
http://www.ohjelmointiputka.net/opas.php?tunnus=phpj