Jump to content

Recommended Posts

Hallo


Eure Seite wurde mir empfohlen, da man hier sehr kompetente Hilfe bekommt.

Mein Problem;


Ich versuche Einträge aus einer Datenbank zu lesen um diese dann in einer zweiten Abfrage als WHERE-Klausel zu verwenden, aber irgendwie nimmt er immer nur den letzten Eintrag der Tabelle.


Die erste Abfrage ergibt z.B. die Zahlen 1,2,3 als $zahl.


Diese verwende ich nun in der zweiten Abfrage mit WHERE = '$zahl'. Nun ist der Effekt, dass immer nur der letzte Eintrag genommen wird, also die 3 und die 1 und 2 werden ignoriert. Wie bringe ich es denn nun fertig, dass die Abfrage für alle Zahlen gemacht wird und nicht nur für die letzte? Wäre echt froh, wenn Ihr mir helfen könnt, da ich kurz davor bin, gegen die Wand zu laufen.


Danke im voraus.

Link to post
Share on other sites

also das hört sich eventuell so an als überschreibt deine zweite query den inhalt der ersten.

ansonsten aber ist das eventuell auch eine möglichkeit das mit einer einzigen query zu machen, indem man dem where eine liste gibt in der art:


select * from tabelle where zahl in (1,2,3,4)


poste mal den code !

Link to post
Share on other sites

Hallo Powie, hier ist mal der Code:


1. Query

$Name = $_POST['Name'];

$select1=mysql_query("SELECT * FROM tabelle WHERE Name ='$Name'");

while ($row=mysql_fetch_assoc($select1)){

$zahl = $row['zeile'];

}


Liefert als Ergebnis 1, 2 und 3 zurück


2. Query

$select2=mysql_query("SELECT * FROM tabelle2 WHERE Zahl = '$zahl'");

while ($row=mysql_fetch_assoc($select2)) {


echo...... usw.


}


Dies gibt dann lediglich eine Zeile als Resultat aus und zwar nur die letzte Zahl, also die 3.

Vielleicht bin ich auch total auf dem Holzweg.

Link to post
Share on other sites

is doch ganz klar!


die erste Schleife wird 3 Mal durchlaufen, beim letzten Mal wird der Wert 3 der Variable $zahl zugewiesen. Ist halt kein array!


Du musst einfach den 2. Select in die While Schleife für den ersten packen.

Etwa so:


$Name = $_POST['Name'];

$select1=mysql_query("SELECT * FROM tabelle WHERE Name ='$Name'");

while ($row=mysql_fetch_assoc($select1)){

$zahl = $row['zeile'];


$select2=mysql_query("SELECT * FROM tabelle2 WHERE Zahl = '$zahl'");

while ($row=mysql_fetch_assoc($select2)) {


echo...... usw.


}

}


alles klar?


Greetz!

D-Day

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...