[PHP] Array Problem

No-Future

Lt. Commander
Registriert
Mai 2001
Beiträge
1.107
bin n ziemlicher PHP neuling, also nicht lachen :p
warum funzt folgendes nicht, beim ersten mal gibt er alles schön aus, beim zweiten mal jedeoch nichts, weil den variablen nichts zugewiesen wird. $line ist doch ein array und beim 2. list müsste er doch wieder das ganze array durchlaufen und den variablen die werte zuweisen. wieso geht das nicht? :(

(ich weiß man könnte es auch mit mysql_fetch_row machen, da ich aber später was andres damit vorhab, hab ich gleich _array genommen)

PHP:
$result_lehrer = @mysql_query("Select L_Nummer, L_Vorname, L_Name From lehrer");
			for ($i=0; $line[i] = mysql_fetch_array($result_lehrer,MYSQL_NUM); $i++){
				list ($l_nummer, $l_vorname, $l_name) = $line[i];
				echo "$i: $l_nummer, $l_vorname, $l_name <br>";
			}

			if (mysql_num_rows($result_lehrer) == 0)
				echo "Keine passenden Datensätze gefunden";
				
			$anzahl_lehrer = $i;
				
			for ($i=0; $i < $anzahl_lehrer; $i++){
				list ($l_nummer, $l_vorname, $l_name) = $line[i];
				echo "$i: $l_nummer, $l_vorname, $l_name <br>";
			}

ich hoffe ihr könnt mir helfen
tia!
 
bei Mehrfach-Aufrufen verwende "mysql_fetch_row" statt "mysql_fetch_array"

Code:
mysql_fetch_row ( $result_lehrer )
 
wenn das oben nicht so ganz rausgekommen ist, ich habs mit mysql_fetch_row auch schon probiert, und damit gehts auch ned :(
 
hm ok, du hast deine For-Schleife falsch programmiert, sie müsste richtig lauten:

Code:
for ( $i=0; $i<mysql_num_rows($result_lehrer); $i++ ) {
  $line[i] = mysql_fetch_array($result_lehrer,MYSQL_NUM);
  list ($l_nummer, $l_vorname, $l_name) = $line[i];
  echo "$i: $l_nummer, $l_vorname, $l_name <br>";
}

ich hoffe dir ist dein Fehler jetzt klar ;)

wenn's noch immer nicht geht, wie erwähnt die mysql_fetch_row Funktion verwenden ...
 
setz in der zweiten for-next schleife mal kein $i sondern z.B. ein $x

denn zweimal ein $i in einer $i schleife müsste nen konflikt auslösen, da $i ja schon nen wert hat wenn die zweite schleife durchlaufen werden soll.
 
das sind ja keine geschachtelten Schleifen :rolleyes: :o
 
hm, hab die schleife jetzt geändert, obwohl ich eigentlich nicht versteh warum das ned auch geht wenn das in der schleifenbedingung ist, wird ja trotzdem ausgeführt naja.
es geht aber immer noch nicht, bei der 2. schleife wird jetzt IMMER der letze datensatz ausgegeben, hmm :(
 
maaaan, bin ich blöd (bzw. C/C++ & Java versaut)
hab immer $line geschriebn, und bei i auf das $ zeichen vergessn, weil ich das einfach nicht gewohnt bin von anderen sprachen, habs nem kumpel gezeigt und der hat auch 5minuten gebraucht bis er den dummen fehler entdeckt hat, nagut, jetzt hab ichs ja ;),
tx lupo und odem für die bemühungen ;)
 
dieser kurze Quellcode scheint ja nur so gespickt zu sein, mit unscheinbaren Fehlern :p
 
Zurück
Oben