Primärschlüssel vorhanden. Wie an andere Attribute rankommen?
Philip P.
- datenbank
Guten Tag zusammen
Mittels folgender Zeile übergebe ich von Seite A nach B das Datenbankattribut fldID (Primärschlüssel):
echo "<a href="stuff.dir/bearbeiten.php?fldID=",$row3["fldID"],"">";
Das funktioniert auch und wenn ich auf der neuen Seite (B) mit der Zeile:
<? echo $fldID ?>
überprüfe, ob die fldID vorhanden ist, dann ist alles korrekt.
Aber zu jedem Datensatz gehören mehrere Attribute (z.B. Tag, Monat, Jahr, Priorität, Status, etc.). Wie kann ich nun von der Datenbank die zur fldID (Primärschlüssel) gehörenden Attribute herauslesen? Die Lösung ist bestimmt recht einfach, aber ich komme momentan nicht drauf. Es soll wirklich nur die fldID zur Seite B übertragen werden und anhand dieser fldID sollen dann die anderen Attribute angegeben werden (mit PHP-echo).
Grüsse
Philip P.
Hi,
deiner Syntax entnehme ich, dass du PHP benutzt. Um den Primärschlüssel zu erhalten hast du irgendwie ein Query ausgeführt, sowas wie SELECT ... FROM ...
Auf der Seite B machst du jetzt genau das Selbe. Du schnappst dir diesen Primärschlüssel und fragst den Rest ab:
SELECT tag, monat, jahr, status FROM tabelle WHERE fldID = $(fldID)
Die Funktionen die du benötigst (sofern du nicht mit irgendwelchen zwischengelagerten Objektschichten arbeitest) findest du hier: http://www.php.net/manual/de/ref.mysql.php
MfG
Rouven
» deiner Syntax entnehme ich, dass du PHP benutzt.
Richtig.
Um den Primärschlüssel zu erhalten hast du irgendwie ein Query ausgeführt,
Ne, ich habe ihn via PHP übergeben (via URL von Seite A -> B). Also wie folgt sieht die URL aus:
http://www.website.de/bearbeiten.php?fldID=315
Wenn ich auf der Seite B überprüfe (<? echo $fldID ?>), ob die fldID aufrufbar ist, dann kommt die richtige Anzeige.
Du schnappst dir diesen Primärschlüssel und fragst den Rest ab:
Wie meinst du das mit dem schnappen?
» SELECT tag, monat, jahr, status FROM tabelle WHERE fldID = $(fldID)
Jupp, so siehts aus:
mysql_query("SELECT fldTitle, fldText, fldDay, fldMonth, fldYear, fldPriority, fldStatus FROM tblToDo WHERE fldID=$fldID");
Wenn ich jetzt aber mit "<? echo $fldDay ?>" einen Test mache, wird nichts angezeigt. Hm, seltsam :-(.
Gruss
Philip
hi,
» SELECT tag, monat, jahr, status FROM tabelle WHERE fldID = $(fldID)
Jupp, so siehts aus:
mysql_query("SELECT fldTitle, fldText, fldDay, fldMonth, fldYear, fldPriority, fldStatus FROM tblToDo WHERE fldID=$fldID");Wenn ich jetzt aber mit "<? echo $fldDay ?>" einen Test mache, wird nichts angezeigt. Hm, seltsam :-(.
nein, ganz normal.
du hast bisher nur die abfrage an die datenbank abgesetzt, und im erfolgsfall eine sog. resource ID zurückbekommen.
mittels dieser musst du dir den datensatz jetzt aber erst mal holen gehen, beispielsweise mit mysql_fetch_array().
weiteres zu diesen grundlagen im schon erwähnten manual, oder bei http://php-faq.de/ch/ch-database_mysql.html oder http://tut.php-q.net/mysql.html ff.
gruß,
wahsaga