Select Ausgabe in Array schreiben
Martin(1)
- php
$sql = "select a,b,c from tabele ORDER BY a ASC";
$result = mysql_query($sql)or die($sql.'<br>'.mysql_error());
while ($sql = mysql_fetch_array($result))
{
$mein_array[] = $sql['a'];
$mein_array[] = $sql['b'];
}
die Ausgabe ist:
1 a
2 b
3 a
4 b
u.s.w.
es soll aber eigentlich dieses rauskommen
1 a,b,c
2 a,b,c
3 a,b,c
u.s.w
Tach!
while ($sql = mysql_fetch_array($result))
{
$mein_array[] = $sql['a'];
$mein_array[] = $sql['b'];
}
es soll aber eigentlich dieses rauskommen
1 a,b,c
2 a,b,c
3 a,b,c
Dann solltest du nicht jeden Wert aus der Ergebniszeile einzeln einem neuen Array-Eintrag zuweisen, sondern die Zeile komplett.
Besser wäre es aber, die mysqli-Extension statt der bereits als deprectaded angekündigten mysql-Extension zu verwenden, dann bekommst du das Ergebnis gleich mit einem einzigen mysqli_fetch_all()-Aufruf.
dedlfix.
ich möchte mein Ziel aber ohne mysqli ereichen.
ich möchte mein Ziel aber ohne mysqli ereichen.
# logisch_falsch
while ($sql = mysql_fetch_array($result))
{
$mein_array[] = $sql['a'];
$mein_array[] = $sql['b'];
}
Das ist falsch, weil Du jedes mal ein neues Element anlegst und den Zeiger im Array versetzt (arFoo[]='bar'):
besser:
$mein_array=array();
while ($hash = mysql_fetch_array($result))
{
$mein_array[] = $hash;
}
noch besser:
$mein_array=array();
while ($mein_array[] = mysql_fetch_array($result)) {#}
danach hast Du einen "Array über Hashes", der sich auch folgt erzeugen ließe:
$mein_array=array();
$mein_array[0]['a']='erster Wert';
$mein_array[0]['b']='zweiter Wert';
$mein_array[1]['a']='dritter Wert';
$mein_array[1]['b']='vierter Wert';
# ...
Um den wieder zu befragen:
foreach ($mein_array as $row) {
echo $row['a'];
echo $row['b'];
}
noch besser:
$mein_array=array();
while ($mein_array[] = mysql_fetch_array($result)) {#}
Dann ist aber das letzte Element `false`{:.language-php}
> Um den wieder zu befragen:
> ~~~php
> foreach ($mein_array as $row) {
> echo $row['a'];
> echo $row['b'];
> }
>
Und würde hier meckern.
MfG
bubble
Dann ist aber das letzte Element
false
Stimmt. Im Handbuch steht irgendwo, dieses sei vor der Weiterverarbeitung mit unset zu löschen.
Jörg Reinholz
ich möchte mein Ziel aber ohne mysqli ereichen.
"Ich will aber..." - du könntest meine Frau sein.
Vielleicht bist du es ja? - Schatz heute Abend bitte etwas vegetarisches!
Gruß
dein Mann
T-Rex