Hallo, ich will die Anzahl meiner Mysql Zeilen also DB sätze als array verfügbar machen
in etwa so
$zeile=array(mysql_num_rows($ergebnis));
foreach($zeile as $newzeile)
{
echo "test";
}
aber er liefert der foreach schleife immer nur den gesamt wert nie den einzelnen
Homepage selbermachen 7.852 Themen, 35.619 Beiträge
die zeile
"$zeile=array(mysql_num_rows($ergebnis));"
ist glaub ich nicht im sinne des erfinders. die funktion "array" erstellt ein array das den referenzen in den klammern entspricht:
$test = array(1,3,5,7,9);
dieser funktionsaufruf erstellt ein array mit 5 elementen. diese haben die werte die in der klammer stehen. wenn du nun deine zeile verwendetst steht genau ein Wert in der klammer und der ist die anzahl der datensätze deines mysql-results. also hat das array nur ein element indem die gesamtanzahl der datensätze drin stehen.
somit kann die foreach-schleife nur einmal durchlaufen werden und die variable $newzeile enthält dabei die anzahl der datensätze. ich empfehle folgende syntax:
for ($x=1;$x {
echo "Das ist der $xte Durchlauf";
}
(ich habe den code nicht getestet!)
greetings, Apro
@ Tester: Wenn du sagst was du mit dem Code vorhast, dann kann man vielleicht eine genauere Lösung bringen
diesen vorschlag kann ich nur unterstützen! leute wenn wir euch helfen sollen gebt uns genauere zielbeschreibungen! ;-)
greetings, apro
eben, denn oftmals gibt es andere möglichkeiten das problem mit einer funktion etc zu lösen
der fehler liegt darin, daß mysql_num_rows() nur einen integerwert für die anzahl der zurückgelieferten db-ergebnisse zurückliefert, du willst ja aber die ergebnisse haben.
du mußt also das ganze etwas anders aufbauen. das nachfolgende beispiel ist nur grundsätzlicher natur, je nachdem, was du mit den ergebnissen machen willst und wie sie aussehen mußt du es anpassen:
while($r=mysql_fetch_row($ergebnis))
{
$result_array[]=$r;
}
jetzt hast du in $result_array ein zweidimensionales array mit den ergebnissen. die erste dimension sind die ergebnissätze, die zweite dimension die einzelnen ergebnisfelder eines datensatzes.
als erläuferung:
$result_array[2][0] ist der wert des ersten feldes des 3. datensatzes.
Also du weisst nicht was er will, vielleicht ist ja array auch total sinnfrei, wenn du allerdings wirklich einen array benötigst (!!) dann ist Xaffords methode sinnvoll