SQL in ein array
schumiel
- php
Hallo,
folgendes muss ich noch manuell machen:
$zahl = array("1","2","4","6","7","9","10","13")
shuffle($zahl);
... sind die ID's von dieser SELECT-Anweisung:
$sql="SELECT id FROM zahl WHERE status='klein'";
while($row = mysql_fetch_row($result))
{
echo $row[0].' ';
}
Ausgabe:
1 2 4 6 7 9 10 13
Diese Zahlen sollen in ein array, so dass ich, wenn die Zahlen sind mal ändern soll (WHERE-Bedingung geändert) auch die zahlen automatisch ändern.
Wie muss das Script dazu aussehen?
hi,
Diese Zahlen sollen in ein array, so dass ich, wenn die Zahlen sind mal ändern soll (WHERE-Bedingung geändert) auch die zahlen automatisch ändern.
Statt Ausgabe in der Schleife - Einfügen in ein Array.
gruß,
wahsaga
Genau das ist ja meine Frage!!
Wie stecke ich das in ein Array?
hi,
Genau das ist ja meine Frage!!
Wie stecke ich das in ein Array?
Willst du behaupten, diesbezüglich habe dir http://www.php.net/manual/de/language.types.array.php nicht weiterhelfen können?
gruß,
wahsaga
hi,
Genau das ist ja meine Frage!!
Wie stecke ich das in ein Array?
Willst du behaupten, diesbezüglich habe dir http://www.php.net/manual/de/language.types.array.php nicht weiterhelfen können?
gruß,
wahsaga
Nein, weil diese Daten nicht von einer Datenbank kommen, sondern manuell eingetragen werden. Ich will aber ein Array aus einem SQL erstellen. Siehe eben ersten Eintrag (Eröffnungsbeitrag)!
Nein, weil diese Daten nicht von einer Datenbank kommen, sondern manuell eingetragen werden. Ich will aber ein Array aus einem SQL erstellen. Siehe eben ersten Eintrag (Eröffnungsbeitrag)!
Woher die Elemente eines Arrays kommen, ist zweitrangig und höchstens für die Generierung des Arrays von Bedeutung. Kleiner Hinweis: http://www.php.net/manual/de/function.array-push.php.
Siechfred
hi,
bitte zitiere vernünftig.
Nein, weil diese Daten nicht von einer Datenbank kommen, sondern manuell eingetragen werden. Ich will aber ein Array aus einem SQL erstellen.
Was du zu genau diesem Zweck machen sollst, schrieb ich dir bereits:
In der Schleife, mit der du über die Ergebnisse der SQL-Abfrage [1] läufst, fügst du den jeweils aktuellen Wert ins Array ein.
[1] Btw: Können wir uns auf so ein halbwegs ordentliches Sprachniveau einigen? "Eine SQL-Abfrage" klingt doch wohl besser, als "ein SQL".
gruß,
wahsaga
$strSQL = "SELECT id FROM zahl where status='klein'";
$result = mysql_query($strSQL);
$zahl = array();
while($row = mysql_fetch_row($result))
{
$zahl[] = $row[0];
}
echo $zahl[1];
-------------------------
Dieses "echo $zahl[1];" benötige ich wie im Eingangspost in der Form:
$zahl = array("1","2", ....);
Wie geht das?
hi,
Könntest du dir jetzt bitte endlich mal die Mühe machen, dein Problem so zu beschreiben, dass man auch nachvollziehen kann, was du willst?
echo $zahl[1];
Dieses "echo $zahl[1];" benötige ich wie im Eingangspost in der Form:
$zahl = array("1","2", ....);
Wie geht das?
Ich habe keinen blassen Schimmer, was du mit "ein echo in der Form $zahl = array(...) benötigen" meinen könntest.
gruß,
wahsaga
Denk dir einfach das echo weg.
Das array -> $zahl[] soll nochmal in einem array rein. Sozusagen dass die Zahlen im array -> $zahl[] in der Form von:
$arrzahl = array("1","2", ....);
... erscheinen!
Weiß nicht, so geht das ja nicht, wie ich mir das erst dachte.
$arrzahl = array($zahl[]);
hi,
Das array -> $zahl[] soll nochmal in einem array rein.
Also $ergebnis = array($zahl); ...?
gruß,
wahsaga
... wenn ich $ergebnis als Test so ausgeben würde, steht:
Array
... da! :-(
hi,
... wenn ich $ergebnis als Test so ausgeben würde, steht:
Array
... da! :-(
Ja ich denke du willst ein verdammtes Array haben ...?
Jetzt hast du eins, und es passt dir auch wieder nicht?
Lern doch endlich mal ein bisschen mit Arrays umzugehen!
Arrays gibt man nicht mit echo aus - dabei kommt immer nur das Wort Array heraus.
Entweder greift man auf die einzelnen Elemente des Arrays zu, und gibt diese aus - oder man nutzt print_r/var_dump für Kontrollausgaben, wenn man sich erst mal über die Struktur des Arrays klar werden möchte.
gruß,
wahsaga
while($row = mysql_fetch_row($result))
{
echo $row[0].' ';
}Ausgabe:
1 2 4 6 7 9 10 13
seid ihr alle banane oder hab nur ich die aufgabenstellung nicht verstanden?
mysql_fetch_row() liefert ein nummeriertes Array, warum also das Array in einer Schleife ausgeben und die Werte in ein Array schreiben? das ist voelliger bloedsinn
$zahl = mysql_fetch_row($result)
wenn man nur 1 Feld selektiert, reicht das voellig aus
fuer assozialtive Arrays kann man uebrigens mysql_fetch_assoc() verwenden und mit mysql_fetch_array() kann man sich durch MYSQL_NUM, MYSQL_BOTH oder MYSQL_ASSOC sogar aussuchen, wie das Ergebnis aussehen soll
klaert mich auf, wenn ich falsch liege ;)
seid ihr alle banane oder hab nur ich die aufgabenstellung nicht verstanden?
Ich tippe auf Letzteres.
mysql_fetch_row() liefert ein nummeriertes Array, warum also das Array in einer Schleife ausgeben und die Werte in ein Array schreiben? das ist voelliger bloedsinn
Öhm, mysql_fetch_* liefert den nächsten Datensatz (= Zeile) der Ergebnistabelle. Gesucht sind aber alle Werte einer bestimmten Spalte der Ergebnistabelle, die irgendwie in ein Array sollen (da scheint es noch Missverständnisse zu geben).
Siechfred
stimmt, denkfehler meinerseits ;)
wo aber das grosse problem ist versteh ich immer noch nicht ganz, die werte in ein array zu schreiben ist doch nicht so kompliziert
$query = "SELECT id FROM tabelle";
$result = mysql_query($query,$connect);
while($fetch = mysql_fetch_array($result,MYSQL_ASSOC)) {
array_push($zahl, $fetch['id']);
}
sollte doch klappen oder?
meinetwegen auch anders
while($fetch = mysql_fetch_array($result,MYSQL_ASSOC)) {
$zahl .= $fetch['id'] . ",";
}
dann den letzten beistrich entfernen und den string in ein array explodieren