Mikähän oheisen sivun linkkejä vaivaa?
Ylävalikon relatiiviset linkit saavat eteensä osoitepalkin polun ja tietokannasta noudettavat url:lle tarkoitetut tietueet, jotka ovat tyhjiä, linkkaavat myös osoitekentän sivuun, eli tähän sivuun itseensä. Jos kannasta noudettava linkki on absoluuttinen, se kyllä toimii.
http://www.hipsu.com/uusikb/koira.php?reknro=FIN21995/00
Koodia tässä:
<?php if(isset($_GET[ 'reknro'])) include 'admin/conn.php'; $reknro=$_GET['reknro']; $query="SELECT a.*,b.isa,b.ema FROM koirat AS a,yhdista AS b WHERE a.reknro='$reknro' AND a.reknro=b.reknro"; $result=mysql_query($query) or die('Virhe, haku epäonnistui.'); $row = mysql_fetch_array ($result) ?>
Samaten jos jollakulla olisi vinkata, miten tuo sukutaulu kannattaisi tehdä, minkälainen kysely/php-koodi. Tauluja on kaksi, toisessa koiran tiedot ja avaimena reknro sekä toisessa koiran reknro, isän reknro ja emän reknro.
Tuloksena pitäisi sivulle saada sukutauluun koirien nimet ja nimistä linkit reknron perusteella koiran omalle sivulle.
Kiitos etukäteen.
Ensinnäkin tunnen koirapuolen sukutaulut aika hyvin ja ainoa toimiva järjestys on se, että joudut tekemään kyselyn kerrallaan niin monta kuin sinulla on sukupolvia.
Eli 1 sukupolvi:
Haet isän ja emän koiralle joka esitetään
2. sukupolvi
Haet kaikki ne koirat jotka ovat isä tai emä 1. sukupolven koirille
3. sukupolvi
Haet kaikki ne koirat jotka ovat isä tai emä 2. sukupolven koirille
Jne.
Lisäksi kyselyssä kannattaa pitää huolta siitä, että pidät ne yhteiset nimittävät tekijät myös tallessa jossakin (eli samassa tulosrivissä kuin isän tai emon rekkari).
Sukutaulu on rakenteeltaan aika vaikea saada kasaan helposti ja nopeasti. Joudut kuitenkin tekemään yleensä yhtä monta kyselyä tietokantaan kuin sinulla on sukupolvia. Se on max määrä kyselyitä eli 5 sukupolven taulu = 5 kyselyä. Tosin hirmuisella kikkailulla saa koko höskän yhteen kyselyyn, mutta kyselyn tulosta on vaikea käsitellä.
Sitten samasta sukutaulu hässäkästä pystyy laskemaan helposti sukusiitoskertoimen.
-W-
Aihe on jo aika vanha, joten et voi enää vastata siihen.