stammbaum erstellen
Leitai
- php
Hallo!
Ich wollte eine Stammbaum-Datenbank anlegen und bräuchte mal kurz Hilfe, da ich noch blutiger Anfänger bin was das Ganze betrifft ^^
Also ich brauch jeweils ein Kind und die beiden Eltern. So sollte man auch automatisch auf die Großeltern kommen, wenn man jedes Elternteil wiederum als Kind + Eltern in die Datenbank mit einträgt.
Wenn ich jetzt also folgende Tabelle anlege:
Kind Vater Mutter
Kind1 Vater1 Mutter1
Vater1 Vater2 Mutter2
Mutter1 Vater3 Mutter3
Vater2 Vater22 Mutter22
Mutter2 Vater222 Mutter222
usw...
Jetzt möchte ich mittels PHP das Ganze aus meiner Datenbank abrufen und zwar so, dass ich einen Stammbaum mittels <table><?php ?></table> zeichnen kann.
<table width="200" border="0">
<tr>
<td rowspan="4"><?php echo $kind1() ?></td>
<td rowspan="2"><?php echo $vater1() ?></td>
<td><?php echo $vater2() ?></td>
</tr>
<tr>
<td><?php echo $mutter2() ?></td>
</tr>
<tr>
<td rowspan="2"><?php echo $mutter1() ?></td>
<td><?php echo $vater3() ?></td>
</tr>
<tr>
<td><?php echo $mutter3() ?></td>
</tr>
</table>
Die echo Ausgaben hab ich in Funktionen ausgegeben wo ich bis zur Ersten noch gekommen bin:
function kind1()
{
$kind1 = mysql_query ("SELECT kind
FROM stammbaum
WHERE kind = kind1
");
$daten2 = mysql_num_rows ( $welpe );
echo $daten2 . "<br>";
for ($i = 1; $i <= $daten2; $i++)
{
$anzahl2 = mysql_fetch_row ($welpe);
foreach ($anzahl2 as $schluessel2 => $wert2)
{
echo "Schlüssel: " . $schluessel2 . " Wert: " . $wert2 . "<br>";
}
echo "<br>";
}
}
Ok die Lösung mit der Abfrage nach kind1
ist wahrscheinlich auch nicht die Beste, aber so könnte ich mir das bei einer Suchabfrage dann etwa vorstellen.
Jetzt möchte ich in der obigen Tabelle den Vater ausgeben, aber WIE? Ich kann zwar nochmal so eine Funktion einbauen und die halt dann einfach vater1() nennen, aber was mache ich wenn ich zb dann den Vater1 als Kind1 habe? In der SQL-Abfrage müsste ich dann ja auch direkt so ansprechen:
SELECT kind
FROM stammbaum
WHERE kind = vater1
So kann ich das jetzt zwar lösen und in die Tabelle eintragen, aber für jedes Elternteil ne neue Funktion und das dann nicht änderbar?
Ich weiß irgendwas kann so nicht stimmen... Ich hab auch schon überlegt, ob ich nicht 2 Tabellen anlege ( 1 x Eltern 1 x Kinder ) und die mittels einer Relationstabelle zu verknüpfen, was mir die Abfrage erleichtern würde.
Aber kann ich nicht einfach den Wert der bei der SQL-Abfrage rauskommt irgendwie in die 2te Funktion so einbauen, dass er mir nach diesem Ergebnis in der Datenbank einen anderen Wert sucht?
ZB:
SELECT kind
FROM stammbaum
WHERE WERT\_VOM\_kind\_VON\_ERGEBNIS\_VON\_FUNCTION\_kind1()
= vater
So könnte ich dann auch praktisch irgendwie eine Schleife basteln, wo ich auch die Grosseltern, Urgrosseltern, usw. herausbekommen könnte, wenn der Wert jeweils wieder auf kind gesetzt wird?
Aber wie gesagt ich kenn mich ned aus und falls das alles Blödsinn ist gleich ein sorry vorweg ^^
Falls es doch geht pls help!
Hi
Kennst du PHPGedView?
Ja hab ich mir schon angeschaut, aber ich brauch des ganze nicht für Menschen sondern für Hunde ^^
Ich muss die Stammbäume dann auch noch in gewisse Druckform bringen um sie für die Ahnentafeln verwenden zu können. Desweiteren sollten auch die Vereine selbstständig ihre Würfe + Ahnen eintragen können und das Ganze über die Dachverbandshomepage.
Ausserdem brauch ich ja nur einen einfachen Stammbaum. Die Geschwister der Elterntiere zb interessieren mich hierbei schon wieder gar nicht. Allerdings ändert sich der Stammbaum schneller da ja Hunde max. 6 Jahre für die Zucht geeignet sind.
Ich hab schon sowas ähnliches gefunden, aber die geben mir ja schlecht ihr Script *fg*
Seite: http://www.k9data.com/default.asp
Suchabfrage-Beispiel: LUX Junior Champion Dewmist Sandalwood
Hier kann man dann ganz bequem das Elterntier anklicken und man erhält einen "neuen" Stammbaum.
Sry falsche Suchabfrage ^^
Nur nach dem Namen suchen: Dewmist Sandalwood