Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: tietokantaongelmia

Sivun loppuun

merlin [26.04.2011 11:16:00]

#

Koodailen taas tietokantaa/sivua, joka hakee tiettyjä tietoja tietokannasta. Ongelmia on parikin :)

Eli teen taas virtuaalihevosten sivuja. Minulla on sivu: http://valhe.net/criwuit/1/horse.php?cat=1, jossa on haettuna hevoset tietokannasta hevosen "1" tiedot.

Ongelma 1. Sivussa olevien pikkukuvien määrä saattaa hevosittain vaihdella. Minkälainen kenttä minun tulisi tietokantaan luoda, että saisin määritettyä hevoskohtaisesti pikkukuvien määrän? Vai pitäisikö jokaisen hevosen kuvat koota omaan kansioon ja jollain lightboxin viritelmällä sitten tulostaa ne tuonne (onko lightboxista edes sellaista versiota, joka hakee galleriaan kaikki kuvat tietystä kansiosta?)

Ongelma 2. Jälkeläiset/offspring kohtaan tulisi listata kaikki hevosen jälkeläiset. Jälkeläisten tiedot ovat omassa tietokannassaan "kasvatit" ja siellä niille on määrätty mm. isä ja emä. Millä kyselyllä saan haettua tietokannasta tiedon, jossa hevosen nimi on isä TAI emä ja tästä sitten johtamaan toisen vanhemman tiedot tuohon "e/i. Hevosen nimi"?
Eli jos olen hakenut sivulle jo orin Matti-Jukka tiedot ja haluan hakea sen jälkeläiset ja tämän jälkeen vielä kirjata jälkeläisten emän tuohon kohtaan ilman tuota "i." kohtaa. Ja jos hevonen taas olisi tamma, niin sen jälkeläisten toisen vanhemman kohdalla lukisi vain "i." eikä "e.".
Kuulostipas monimutkaiselta :)

Ongelma 3. Perustietotaulu (josta löytyy nimi, rotu, skp - tuon ison kuvan vieressä) vaihtelee sisällöltään pikkiriikkisen eri hevosilla. Lähinnä tuo omistaja/kasvattaja/maahantuoja-kohta. Miten saan jonkun kohdan pois näkyvistä, jos kyseiselle tiedolle ei löydetä tietokannasta vastausta jonkun hevosen kohdalla? Eli jos jonkin hevosen maahantuoja-kohta on vaikkapa tyhjä- niin miten voin jättää sen pois ja samalla mieluiten siirtää omistaja-tiedon sen paikalle?

Othnos [26.04.2011 13:37:03]

#

merlin kirjoitti:

Ongelma 1.

Itse lähtisin ehkä lähestymään juuri tuolla tyylillä, että jokaiselle hevoselle oma kansio id:n mukaan josta sitten haetaan kaikki kuvat. Jos joskus tarvitsee vaikka lähettää tietyn hevosen kuvat löytyvät ne kätevästi sen id:n perusteella. Lightboxia en ole käyttänyt joten siinä asiassa en voi auttaa.

merlin kirjoitti:

Ongelma 2.

Seuraavalla kyselyllä saat tietyn isän kaikkien jälkeläisten kaikki tiedot ja niiden emien nimet. (Taulun sarakkeet vain arvailua)

SELECT jälkeläiset.*, vanhemmat.nimi FROM jälkeläiset, vanhemmat WHERE jälkeläiset.i = isäId AND vanhemmat.id = jälkeläiset.e

merlin kirjoitti:

Ongelma 3.

PHP:lla olettaisin sinun koodaavan tuon linkin vuoksi. Yksinkertaisella ehtolauseella.

if (!empty($nimi)) {
	echo $nimi;
}

makumaku [26.04.2011 14:18:21]

#

No pari lyhyttä kommenttia.

Ongelma 1: Mielestäni ensin tulisi päättää mikä on sivun rakenne ja ulkoasu, ja sitä kautta päättää montako pikkukuvaa yhdelle hevoselle voidaan min/max näyttää. Onko pikkukuville joku maksimi, vaikka 6, sivujen rakenteen johdosta, vai onko niitä galleriatyyppisesti mahdollista olla vaikka sata. Eli mietitään miltä sivun halutaan näyttää ja tehdään tekniikka vasta sen mukaan.
Itse tekisin kuville oman taulun, jossa minimissään olisi hevosen id ja kuvan nimi ja polku. Itse kuvat voivat olla levyllä jossakin hakemistossa. Näin jokaiselle hevoselle voisi ladata 0..x määrää kuvia eikä tietokannan rakenne rajoittaisi kuvien määrää.
Se että millä kuvat näytetään, onko lightbox vaiko joku muu, ei liity tähän että miten kuvat talletetaan.

Ongelma 2. Itse en nyt näe että miksi pitäisi olla omat taulut (ilmeisesti tarkoitit tauluja kun puhuit eri tietokannoista) sekä jälkeläisille että vanhemmille. Kummatkin ovat hevosia, joilla periaatteessa on samat ominaisuudet ja tiedot, joillakin vain sattuu olemaan jälkeläisiä, toisilla ei. Luonnonlakien mukaan kaikilla lienee pakko olla aina vanhemmat :) Entäs sitten kun hevosia on 7 sukupolvea? Hevoset ovat moneen kertaan sekä vanhemmat että jälkelaiset tauluissa (jos nyt ymmärsin oikein). Itse laittaisin kaikki samaan tauluun jossa olisi hevosen id, nimi, isän id, emän id, muut tiedot,...
Sen verran vielä että hevosia tuskin kannattaa hakea kannasta nimellä (olipa kanta millainen tahansa), vaan jollakin yksilöllisellä id-numerolla (esim tuo Rekisterinumero on jo parempi), koska pitää ottaa huomioon että on samannimisiä hevosia useita.

Ongelma 3. Yksintertaisesti tarkistat että onko tietokenttä tyhjä, ja jos on tyhjä niin jätät tulostamatta halutut tiedot. Itse kyllä haluaisin melkein että tämäntyyppisissä jutuissa tuo tietotaulukon rakenne olisi kiinteä ja myös otsikot. Jos jotakin tietoa ei ole niin kenttä jätetään vain tyhjäksi. On ärsyttävää jos taulukon rakenne muuttuu sen mukaan mitä tietoa siellä on.

Grez [26.04.2011 14:53:07]

#

makumaku kirjoitti:

Luonnonlakien mukaan kaikilla lienee pakko olla aina vanhemmat :)

Mutta ne ei voi olla pakollisia, koska ei välttämättä tiedossa. Muutenkin näkisin, että juuri niin kuin makumaku ehdotti, mutta aika monien kenttien täytyy todennäköisesti olla vapaaehtoisia. Jos esim. emästä ei tiedetä muuta kuin nimi, niin silloin täytyisi voida tehdä hevonen josta ei tiedetä kuin nimi. Tämä saattaa aiheuttaa sen, että rekisteri-numero ei voi olla yksilöllinen koodi, mutta pääavaimeksihan voi lisätä ihan juoksevan numeron jonka järjestelmä/tietokanta generoi.

makumaku [26.04.2011 15:15:50]

#

Totta, voinee olla mahdollista että hevosen vanhempia ei ole tiedossa. Tällöin kentät vain jätetään tyhjiksi. Tämä tosin on ihan sivujen ylläpitäjän kädessä että onko vanhemmat ja rekisterinumero pakollisia. Jos tallilla keskitytään hevosten jalostukseen ja kilpailutoimintaan kuten sivuilla luki, niin voi myös olla että kaikilla käytetyillä hevosilla pitää olla rekisterikirjat (ja edellämainitut tiedot myös). Mutta koska hevosista en mitään tiedä niin en osaa sanoa että voiko tallissa olla rekisteröimättömiä/"sekarotuisia" hevosia. Mutta tällä ei nyt ole toteutuksen kannalta suurta merkitystä.

Grez [26.04.2011 15:34:14]

#

Niin, lähinnä jos emä ja isä määriteltäisiin tietokannassa pakolliseksi ja samaan tauluun viittaavaksi, niin tulisi mahdoton tilanne, koska sitten pitäisi kehittää ko. tiedot jopa niille Nooan arkin hevosille.

Kommentoin lausettasi "pakko olla aina vanhemmat", joka mielestäni viittasi siihen, että ne olisi mielestäsi ollut järkevää määritellä pakollisiksi tiedoiksi.

jo123 [26.04.2011 15:38:59]

#

Grez kirjoitti:

Niin, lähinnä jos emä ja isä määriteltäisiin tietokannassa pakolliseksi, niin tulisi mahdoton tilanne, koska sitten pitäisi kehittää ko. tiedot jopa niille Nooan arkin hevosille.

ahahhahhhahah :D

Edit: No oli se kieltämättä ihan hauska juttu...

makumaku [26.04.2011 15:40:46]

#

Niinjuu, nyt vasta tajusin.
Ei tosiaan ihan kaikille hevosille voi olla tätä tieto pakollisena. Muuten jäädään ikilooppiin, ja tietokannasta loppuu tila kesken kun mennään muutaman miljoonan vuoden verran taaksepäin ja listataan jotakin mereltä noussutta mateliaa esi-isäksi :)

merlin [26.04.2011 18:55:06]

#

Kiitokset kaikille :)

Othnosin jälkeläis"ratkaisuun" sen verran, että entäs jos hevonen onkin tamma ja sen varsalle pitää hakea isä? Miten voin päättää haetun tiedon hevosen sukupuolen mukaan (tamma -> varsan isän tiedot, ori -> varsan emän tiedot)

Lisäksi tuo makumakun sukutaulujuttu on vähän vaikea. Tai siis se, että lisäisin kaikki sukutaulujen hevoset "hevoset" tauluun. Katsos kun merkitsen hevosilleni 3 polvea sukua, eli yhteensä 14 vanhempaa. Useimmiten hevosen sukulaiset eivät ole omistuksissani, ja siksi en koe tarpeelliseksi merkata muiden omistamia tai keksittyjä nimiä hevoset-tauluun. Kasvatti-taulu on sen takia, että sieltä löytyy kaikki minun hevosteni jälkeläiset omistinpa ne tai en :D Eli siksi haluan pitää ne eri taulussa.
Ja mitä ilmeisimmin muutankin hakutyylin nimestä idiin, tajusin juuri itsekin :)

Eli varsinaisia vastauksia en vielä löytänyt, paitsi tuon kuvajutun. Ja siis pikkukuvia tulee olemaan 2-6. Pitänee kaivella jos jostain löydän sellaisen koodin jolla saan kaikki kuvat tietystä kansiosta näkyviin :)

Grez [26.04.2011 19:08:12]

#

lainaus:

Othnosin jälkeläis"ratkaisuun" sen verran, että entäs jos hevonen onkin tamma ja sen varsalle pitää hakea isä? Miten voin päättää haetun tiedon hevosen sukupuolen mukaan (tamma -> varsan isän tiedot, ori -> varsan emän tiedot)

Pitäisi varmaan olla varsojen isien/emien tiedot. Vai onko hevosilla elinikäiset kumppanit?

No en minä kyllä keksi mikä noissa on ongelmina. Kannattaa varmaan kirjata sinne tauluun se hevosen sukupuoli, jolloin sillä perusteella hakeminen ja tiedon valikointi onnistuu.

Tosin onnistuuhan tuo ilman sitäkin ihan näpsäkästi. Jos emä tai isä on id X niin hakee kaikki näiden varsojen isät/emät:

SELECT Sr.* FROM Hevoset Jr JOIN Hevoset Sr ON (Jr.Isä=Sr.Id OR Jr.Emä=Sr.Id) WHERE Sr.Id<>X AND Jr.Emä=X OR Jr.Isä=X

lainaus:

Useimmiten hevosen sukulaiset eivät ole omistuksissani, ja siksi en koe tarpeelliseksi merkata muiden omistamia tai keksittyjä nimiä hevoset-tauluun.

Itse laittaisin silti kaikki hevoset samaan tauluun ja sitten "omistuksessa" kentän, joka kertoo onko se omistuksessa vai ei.

Keksittyjä juttuja en laittaisi itsekään tietokontaan. Parempi laittaa "ei tiedossa" eli null kuin keksiä sinne jotain.

lainaus:

Eli varsinaisia vastauksia en vielä löytänyt, paitsi tuon kuvajutun.

Mun on vähän vaikea hahmottaa mihin tässä oikein pitäisi vastata, kun kerran itse tiedät miten haluat ne tehdä ja yleisellä tasolla asiat on triviaaleja.

Kävin nyt hakemassa yhden hämärän kysymyksesi, johon ei vielä ollut tullut vastausta:

lainaus:

Millä kyselyllä saan haettua tietokannasta tiedon, jossa hevosen nimi on isä TAI emä ja tästä sitten johtamaan toisen vanhemman tiedot tuohon "e/i. Hevosen nimi"?

Seuraava kysely hakisi "isä" tai "emä" nimisen hevosen vanhemmat ehdotetun rakenteen mukaisesta taulusta:

SELECT Sr.* FROM Hevoset Jr JOIN Hevoset Sr ON (Jr.Isä=Sr.Id OR Jr.Emä=Sr.Id) WHERE Jr.Nimi='isä' OR Jr.Nimi='emä'

(Sinänsä tuntuu oudolta tuo vaatimus että hevosen nimi on isä TAI emä, mutta eipä kai se minulle sinänsä kuulu)

merlin [26.04.2011 19:40:46]

#

Siis tiedän mitä haluan, mutten miten koodata :)

Pitänee kokeilla tuota sinun jälkeläisjuttuasi. Ja kuten ylläkin sanoin, että itse virheellisesti ajattelin haun nimen mukaan, jokaiselle hevoselle kun tulee kuitenkin id niin sen mukaan on helpompi hakee :)

merlin [27.04.2011 18:15:06]

#

Olen taas vaihteeksi niin kömpelö näiden koodien kanssa, etten saa millään toimimaan date -tyypisen sarakkeen "kääntämistä", eli että päivämäärä ei olisikaan vvvv-kk-pp vaan pp-kk-vvvv. Mikä koodi ja miten :D Kun mulla on kisakalenterissa tällainen koodi:

echo "<tr><td class=\"kisa1\">" . $rivi["pvm"] . "</td>
<td class=\"kisa1\">" . $rivi["paikka"] . " (<a href=\"" . $rivi["kutsunosoite"] . "\">kutsu</a>)</td>
<td class=\"kisa1\">" . $rivi["luokka"] . "</td>
<td class=\"kisa1\">" . $rivi["sijoitus"] . "</td></tr>" ;

Tarkotus olisi, että tulostuisi rivi: 00.00.0000 | Talli (kutsu) | 100cm | 1/100
Niin minne se (ja minkälainen) päivämäärän kääntö-koodi tulisi :)? Ihanaa jos joku haluaa tällasta tahamatassua auttaa.
Ja kun olen määrännyt tuolle kisakalenterille ORDER BY:n lajin ja päivämäärän mukaan, niin miten saisin aina lajin muuttuessa (hevosella voi olla vaikkapa koulu- ja estekisoja, lajit eivät kuitenkaan ole samat joka hevosella) pienen välin/tyhjän rivin?

//muoks.

Kokeilin tuossa vielä säätää tuota jälkeläishakua, ja minulle tuli ilmoitus:

lainaus:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'X' in 'where clause'' in /home6/haaveetn/public_html/criwuit/1/horse2.php:152 Stack trace: #0 /home6/haaveetn/public_html/criwuit/1/horse2.php­(152): PDOStatement->execute() #1 {main} thrown in /home6/haaveetn/public_html/criwuit/1/horse2.php on line 152

Eli ilmeisesti X yms. väärin? Tällaiselta näyttää nyt haku:

SELECT $id FROM kasvatit JOIN hevoset ON (isa_id=$id OR ema_id=$id) WHERE $id<>X AND ema_id=X OR isa_id=X

(Mod. huom: SQL-koodille oikeat tagit!)

jo123 [27.04.2011 23:47:27]

#

Voit ajaa päivämäärän strtotime() funktion läpi, jonka jälkeen muotoilla sen uudestaan date() funktiolla. Siis jos tämä on mitä haet:

$aika="2011-11-11";
$aika_unixtime=strtotime($aika);
$aika_muotoiltu=date("d.m.Y",$aika_unixtime);

Othnos [28.04.2011 01:16:48]

#

merlin kirjoitti:

Eli ilmeisesti X yms. väärin? Tällaiselta näyttää nyt haku:

SELECT $id FROM kasvatit JOIN hevoset ON (isa_id=$id OR ema_id=$id) WHERE $id<>X AND ema_id=X OR isa_id=X

Grez kirjoitti:

Jos emä tai isä on id X

Eli kertaukseksi X kohdat ovat niitä joiden tilalle sinun pitää kyseinen id laittaa. Kyselyssäsi on muutakin pielessä kuten et mainitse mihin tauluun ema_id ja isa_id viittaa sekä $id muuttujassa tuskin on tietokannasta haluamiasi sarakkeita. Grezin koodia puukottamalla päästään seuraavaan lopputulokseen joka hakee kyseisen hevosen kaikkien kasvattien toisen vanhemman kaikki tiedot. Toivottavasti myös rakennat kyselyn oikein ja ylläoleva on vain vajaatoiminen esimerkki.

$kysely = $pdo->prepare("SELECT hevoset.* FROM kasvatit JOIN hevoset ON (kasvatit.isa_id = hevoset.id OR kasvatit.ema_id = hevoset.id) WHERE hevoset.id <> ? AND kasvatit.ema_id = ? OR kasvatit.isa_id = ?");
$kysely->execute(array($id, $id, $id));

merlin [28.04.2011 15:06:18]

#

jo123, kiitos. Koitan säätää ton tonne mukaan :D

Othnos, siis id määräytyy ihan sivun alussa tällaisella:

<?php
$id = $_GET ['id'];
$idt = array ("1", "2", "3", "4", "5", "6", "7");
if (!in_array ($id, $idt))
    $id = "1";

?>

Niin laitanko X:en paikalle vaan $id? Kokeilen tota sun uutta koodia, kiitos tosi paljon :)

merlin [28.04.2011 16:08:52]

#

En saa tota toimiin, oon oikeesti niin avuton näiden kanssa :DDD Miten mun pitäis noita hakee jajaja, no tällaselta näyttää nyt. Varmaan sopivasti kaikki ihan sekasin :)

$kysely = $yhteys->prepare("SELECT hevoset.* FROM kasvatit JOIN hevoset ON (kasvatit.isa_id = hevoset.id OR kasvatit.ema_id = hevoset.id) WHERE hevoset.id <> $id AND kasvatit.ema_id = $id OR kasvatit.isa_id = $id");
$kysely->execute(array($id, $id, $id));

while ($rivi = $kysely->fetch()) {

echo "<p>" . $rivi["kasvatit.skp"] . ". <a href=\"" . $rivi["kasvatit.varsa_osoite"] . "\">" . $rivi["kasvatit.varsa"] . "</a> (synt. " . $rivi["kasvatit.syntymaaika"] . ") e/i. <a href=\"" . $rivi["hevoset.id"] . "\">" . $rivi["hevoset.id"] . "</a></p>" ;

Triton [28.04.2011 16:22:36]

#

Näin niin kuin alkuunsa suosittelisin tsekkaamaan tuon sql-lausekkeen. Miksi esimerkiksi olet nuo $id-muuttujat laittanut tuonne sql:n sekaan, kun kuitenkin annat ne oikeaoppisesti execute-metodissa taulukkona?

merlin [29.04.2011 15:49:57]

#

No kun en tiedä, että mitä niiden tilalle tulisi tuonne lausekkeeseen laittaa. Kun idiä ei tiedetä varmuudella alussa :D

Teuro [29.04.2011 16:31:28]

#

Haluatko kenties perustella, että miksi se olisi ongelma? Arvot ovat sitä mitä käyttäjä scriptille antaa. Se että et tiedä muuttujien varsinaista sisältöä ei missään määrin ole ongelma, eihän tämä keskustelupalstan scriptikään tiedä mitä mä olen kirjoittamassa.

Triton [29.04.2011 16:44:51]

#

merlin kirjoitti:

No kun en tiedä, että mitä niiden tilalle tulisi tuonne lausekkeeseen laittaa. Kun idiä ei tiedetä varmuudella alussa :D

Jos viitsisit lukea tuon PHP ja MySQL -oppaan tietäisit, että sql-lausekkeeseen muuttujien paikalle laitetaan ?-merkki.

merlin [29.04.2011 20:52:51]

#

Toni, ohhoh. Oon taas ollu vähän malttamaton :) Kiitos kuitenkin, nyt ehkä sql kunnossa :) Nyt keksin taas ongelman kun en yhtään tiedä, että millä nimellä noita tulis sitten hakee sieltä. Koodi näyttää tällä hetkellä tältä:

$kysely = $yhteys->prepare("SELECT hevoset.* FROM kasvatit JOIN hevoset ON (kasvatit.isa_id = hevoset.id OR kasvatit.ema_id = hevoset.id) WHERE hevoset.id <> ? AND kasvatit.ema_id = ? OR kasvatit.isa_id = ?");
$kysely->execute(array($id, $id, $id));

while ($rivi = $kysely->fetch()) {

echo "<p>" . $rivi["kasvatit.skp"] . ". <a href=\"" . $rivi["varsa_osoite"] . "\">" . $rivi["varsa"] . "</a> (synt. " . $rivi["kasvatit.syntymaaika"] . ") e/i. <a href=\"" . $rivi["hevoset.id"] . "\">" . $rivi["hevoset.id"] . "</a></p>" ;

Othnos [30.04.2011 12:57:38]

#

Vieläkin on perusteita melko paljon hukassa. Ei tosin sekään auta, että mekään emme ole näköjään täysin varmoja mitä tietoja haluat hakea. Kannattaa opetella myös debugaamaan mikä koodissa menee vikaan.

Hyviä debugaus keinoja tapaukseesi ovat mm. SQL-kyselyn ajaminen suoraan konsolissa (esim. phpMyAdminista löytyy) sekä var_dump-funktiolla epäselvien muuttujien selvittäminen.

Autan nyt vielä sen verran, että kyselyssä haet vain hevoset-taulun tiedot, etkä kasvatit-taulusta mitään, mutta kuitenkin yrität kasvatit-taulusta tietoja tulostaa. JOIN-kyselyissä kannattanee käyttää suoraan sarakkeita mitä haluat hakea sekä määrittää niille omat aliakset, joita käytät sitten tulostamiseen esimerkiksi seuraavalla tavalla

$kysely = $yhteys->prepare("SELECT hevoset.id AS hevosetId, kasvatit.syntymaaika AS kasvatitSyntymaaika FROM kasvatit JOIN hevoset ON (kasvatit.isa_id = hevoset.id OR kasvatit.ema_id = hevoset.id) WHERE hevoset.id <> ? AND kasvatit.ema_id = ? OR kasvatit.isa_id = ?");
$kysely->execute(array($id, $id, $id));

while ($rivi = $kysely->fetch()) {
	?>
	<p>
	Hevoset Id = <?php echo $rivi['hevosetId']; ?><br />
	Kasvatit syntymäaika = <?php echo htmlspecialchars($rivi['kasvatitSyntymaaika']); ?>
	</p>
	<?php
}

Ps. aja tulosteet htmlspecialchars-funktion lävitse XSS-aukkojen välttämiseksi.

merlin [02.05.2011 21:48:51]

#

Nyt toimii täällä, mutta täällä ei - tulostaa kaksi kertaa?

manninen [03.05.2011 08:30:57]

#

Lisääppä huvikseen tuon $kysely muuttujan jälkeen echo $kysely ja vertaa niiden kahden eri pollen kyselyn tulosta. Se saattaisi auttaa asiaa.

Lebe80 [03.05.2011 08:35:15]

#

Tai sitten sinulla on todellakin kaksi "samaa" riviä tietokannassa, jotka toteutuvat tuon kyselyn ehdossa.

merlin [09.05.2011 14:47:05]

#

Catchable fatal error: Object of class PDOStatement could not be converted to string in /home6/haaveetn/public_html/criwuit/1/horse2.php on line 152

Tollasta se herjaa minne tahansa tota echo $kyselyä tungenkin ja molemmissa sama ilmotus :D

Teuro [09.05.2011 15:11:21]

#

merlin kirjoitti:

Tollasta se herjaa minne tahansa tota echo $kyselyä tungenkin ja molemmissa sama ilmotus :D

Selvä se, koska PDOStatement luokkaan ei ole implementoitu PDOStatement::to_string() metodia, jota tuo komento yritäää kutsua.

merlin [10.05.2011 09:23:23]

#

Oon ihan kujalla :D? Harmittaa kun ei ymmärrys riitä tämmöseen, niin innolla oon noita muita sivuja jo koodaillu ja tietokantaa rakentanu, mutta tuo jälkeläisjuttu ei ota toimiakseen :(

Samaten mulla on ongelmia ton kisakalenterin kanssa. Haen siis tiedot järjestykseen kolmen "muuttujan" mukaan (laji, alaisuus, pvm / esim. este, esteratsastusjaos, 10.10.10 tai este, villi, 10.11.10 jne.) Miten saan sen jättämään aina lajin/alaisuuden muuttuessa välin sinne :D Kun en voi hakee kaikkia lajeja yms. erikseen kun kaikilla hevosilla ei välttämättä ole kaikista lajeista kisoja/tuloksia? Vai pitäiskö vaan hakee jokainen erikseen ja jos ei löydy kyseisen lajin tuloksia niin se vaan jättää ne näyttämättä?

----

ot// Tuolta koodivinkeistä kalastin tämmösen "kuvagallerian" - joka ei kuitenkaan toimi. Mulla on siis vielä iconit ja thumbsit saman kokosina kun olin laiska, mutta omista kansioistaan löytyy. Kyseessä siis tämä koodi ja itse laittanut sen sivuille seuraavanlaisena:

g2.php

<html>
<body>
<h1>Gallery</h1>
<h2>thumbnail</h2>
<IFRAME SRC="gallery.php?none=true" width="500" height="300" name="thumbnail"></IFRAME>
<h2>icon</h2>
<IFRAME SRC="gallery.php" width="500" height="300" name="icons"></IFRAME>
</body>
</html>

gallery.php

<?php
// settings
$icon_directory = 'small';
$thumbnail_directory = 'medium';
$popup_directory = 'large';

$icon_columns = 3;
$icon_name = 'icons';

$thumbnail_name = 'thumbnail';

$popup_name = 'gallerypopup';

?>
<html>
<body>
<?php

if ($none)
{
    echo('<p>no image selected</p>');
}
else if ($popup)
{
    echo('<img src="'.$popup_directory.'/'.$popup.'" border="0"></a>');
}
else if ($thumbnail)
{
    echo('<a href="gallery.php?popup='.$thumbnail.'" target="'.$popup_name.'"><img src="'.$thumbnail_directory.'/'.$thumbnail.'" border="0"></a>');
}
else
{
    if ($handle = opendir($icon_directory))
    {
        echo('<table border="1"><tr>');
        $i = 1;
        while (false !== ($file = readdir($handle)))
        {
            if ($file != "." && $file != "..")
            {
                echo('<td><a href="gallery.php?thumbnail='.$file.'" target="'.$thumbnail_name.'"><img src="'.$icon_directory.'/'.$file.'" border="0"></a></td>');
                if ($i++>=$icon_columns)
                {
                    echo('</tr><tr>');
                    $i=1;
                }
            }
        }
        closedir($handle);
        echo('</tr></table>');
    }
    else
    {
        echo("error! no such directory ($icon_directory)");
    }
}
?>
</table>
</body>
</html>

Sivun alkuun

Vastaus

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

Tietoa sivustosta