![]() |
ID aus Datenbank auslesen
Hallo!
Ich habe leider ein Problem und komm alleine leider auf keinen grünen Zweig!! Ich möchte aus meiner Datenbank "nur" die ID eines bestimmten eintrags auslesen. Das ganze ist ein php-skript, was auf die DB zugreift. --------------------------- $query="select OrtID from Orte where OrtNamen ='$OrtNamen', OrtPLZ ='$OrtPLZ', OrtBundesland ='$OrtBundesland'"; $result=mysql_query($query); --------------------------- Zweck des ganzen soll sein, dass ich überprüfen kann ob ein solcher eintrag schon besteht. wenn ja soll er mir die ID sagen,damit ich diese dann als Sekundärschlüssel in eine andere Tabelle eintragen kann. Wenn nein soll er mir die Daten in die DB eintragen und mir dann die "neue" ID geben. ich schaff es aber leider nicht, nur die ID zu bekommen! bin schon ziemlich verzweifelt, vielleicht kann mir ja jemand helfen. bin füf jeden ansatz dankbar! lg und schönen abend noch cherry1604 |
PHP-Code:
|
zuerst einmal danke pong für deine hilfe
wie ich leider feststellen musste ist mein problem doch unfangreicher als ich zu beginn dachte. :heul: sinn des ganzen soll es sein, dass ich die ID eines eintrages bekomm, damit ein und der selbe eintrag nicht doppelt vorkommt. kleines beispiel: ich möchte ein neues objekt (es handelt sich hierbei um ein haus, wohnung etc. - ist für eine virtuelle immobilien firma) anlegen. um eine redundanz zu vermeiden, soll in der DB abgefragt werden ob es z.b. den eintrag Ortsnamen ="Wien", OrtPLZ="1190", OrtBundesland="Wien" schon gibt. wenn ja soll mir die DB die zugehörige ID geben. wenn nein, sollen die daten eingetragen werden und mir dann die zugehörige ID gegeben werden. hier ist mal der teil den ich programmiert habe: $query="select OrtID from Orte where OrtNamen ='$OrtNamen' and OrtPLZ ='$OrtPLZ'and OrtBundesland ='$OrtBundesland'"; $OrtID=mysql_query($query); list($OrtID) = mysql_fetch_row($result); // hier will ich nurmal überprüfen ob er mir die richtige ID gibt, oder nicht if ($OrtID == 0) { $query="insert into Orte (OrtNamen,OrtPLZ,OrtBundesland) values ("; $query .= "'$OrtNamen','$OrtPLZ','$OrtBundesland');"; $result=mysql_query($query); } else { break; } ----------Ende-------------- was sagt ihr, kann das so funktionieren??? bin schon ziemlich ratlos, da ich auch keine guten infos auf div. programmier seiten finde! vielleicht kann mir ja wer helfen, danke im vorraus. lg cherry 1604 |
ich weiss ja nicht wie tief du in diese materie vordringen willst, aber die loesung zu deinem problem ist prinzipiell die normalisierung von datenbanken.
einer von vielen artikeln zu diesem thema ist dieser: http://web02.zdnet.de/builder/artike...mal_01-wc.html vielleicht hilfts: PHP-Code:
|
danke, dass ihr mir so geholfen habt. hat mich wirklich weiter gebracht. ich hab jedoch leider noch ein kleines problem.
leider bekomm ich jetzt jedoch folgende fehlermeldung. "Fatal error: Maximum execution time of 30 seconds exceeded ..." ich hab keine ahnung was ich noch machen muss/soll damit es funktioniert! vielleicht kann mir jemand helfen, danke im vorraus. lg cherry1604 hier der code: PHP-Code:
|
also so ganz durchblicken tu ich das noch immer nicht, warum gibst du nicht einfach deiner id einen primärschlüssel und dann ersparst du dir die komische suche nach der id?
gruss, snowman |
meine datenbank besteht aus mehreren tabellen. 'OrtID' ist der primärschlüssel der tabelle 'Orte', jedoch soll dieser eintrag - und zwar nur die ID in einer anderen tabelle (Eigentümer) als fremdschlüssel eingetragen werden.
ich hoffe das ich es halbwegs verständlich erklären hab können. lg cherry |
Alle Zeitangaben in WEZ +2. Es ist jetzt 05:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag