j4nk3y: Merkwürdiges Verhalten bei mySQL Anfrage

Beitrag lesen

Tach!

For($i; $i <= $anz_neu ; $i++) $query2 = "SELECT pid FROM tab2 Where sid = '$i'";

In $i steht eine Zahl. Warum notierst du sie in Anführungszeichen?

Überbleibsel, schon geändert.

Nun das eigentliche Problem. Falls $i=$anz_neu funktioniert der Code genau wie er soll und er gibt die pid's zur zugehörigen sid aus.

Du meinst, wenn $anz_neu gleich 1 ist. Denn wenn es 2 ist, dann ist im zweiten Durchlauf $i==$anz_neu und das Problem tritt auch auf.

Nein ich meine das im rein Mathematischen Sinne. Also wenn $i = 1; dann ist auch $anz_neu = 1. Wieso ist es im zweiten durchlauf $i==$anz_neu??

Jedoch wenn mehrere sid's abgefragt werden sollen, sprich $i<$anz_neu gibt er bei jedem durchlauf der zweiten For-Schleife nicht die pid aus sondern: { 1 2 3 . . $num }

Ich nehme an, du meinst damit, dass es immer wieder von vorn beginnt?

Ja, die Erste Zahl die im Array steht wird immer wieder als anfangspunkt genommen und solange die nächste zahl ausgegeben bis $num erreicht ist.

Hoffe das ist verständlich und jemand sieht sofort wo das Problem liegt.

Da:

For($a = 0; $a < $num ; $a++)

$a fängt immer wieder bei 0 an.

Muss ja bei 0 anfangen um auch den ersten Eintrag des Arrays anzusprechen.

Außerdem, wenn $i mit 0 startet (womit es startet, sieht man in dienem Code nicht, und das $i so allein ohne eine Zuweisung oder andere Operation als ersten Teil im for anzugeben ergibt keinen Sinn), dann wird ein vermutlich überflüssiges <br> ausgegeben, sprich: die Schleife macht eine überflüssige Datenbankabfrage ohne dass dabei je ein Ergebnis kommen könnte.

$i fängt immer bei 1 oder größer an.

Gruß Jo