Homepage selbermachen 7.852 Themen, 35.619 Beiträge

Datensätze als Array verfügbar machen mit num_rows

T E S T E R / 6 Antworten / Baumansicht Nickles

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

bei Antwort benachrichtigen
Apro T E S T E R „Datensätze als Array verfügbar machen mit num_rows“
Optionen

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

greetings...
bei Antwort benachrichtigen
Heinz_Malcher Apro „die zeile zeile array mysql_num_rows ergebnis ist glaub ich nicht im sinne des...“
Optionen

@ Tester: Wenn du sagst was du mit dem Code vorhast, dann kann man vielleicht eine genauere Lösung bringen

bei Antwort benachrichtigen
Apro Heinz_Malcher „@ Tester: Wenn du sagst was du mit dem Code vorhast, dann kann man vielleicht...“
Optionen

diesen vorschlag kann ich nur unterstützen! leute wenn wir euch helfen sollen gebt uns genauere zielbeschreibungen! ;-)

greetings, apro

greetings...
bei Antwort benachrichtigen
Heinz_Malcher Apro „diesen vorschlag kann ich nur unterstützen! leute wenn wir euch helfen sollen...“
Optionen

eben, denn oftmals gibt es andere möglichkeiten das problem mit einer funktion etc zu lösen

bei Antwort benachrichtigen
xafford T E S T E R „Datensätze als Array verfügbar machen mit num_rows“
Optionen

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.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Gonzales T E S T E R „Datensätze als Array verfügbar machen mit num_rows“
Optionen

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

bei Antwort benachrichtigen