array

Kategorien: PHP & MySQL
4 Antworten
rompers
rompers am Sonntag, 22. April 2007 um 15:15
wie kann ich das besser schreiben? $resultw = mysql_query("SELECT * FROM ".$db_pref."_word"); $g_word_ws = array(); while($row = mysql_fetch_array($resultw)) { array_push($g_word_ws,$row['word']); }

Kommentare

unkie
unkie am Sonntag, 22. April 2007 um 19:09

erläutere genauer, was du mit besser schreiben meinst? Steht in der Array $g_word_ws schon etwas drinn?

rompers
rompers am Sonntag, 22. April 2007 um 21:37

in
$g_word_ws
sollen dann die wörter dann drin stehen was ich auslese
also sollen alle wörter aus der db in das
array();
und dann soll eins zufällig ausgewählt werden.

Markus René Einicher
Markus René Einicher am Montag, 23. April 2007 um 09:25

Du kannst gleich in der DAtenbankabfrage zufällig eins auswählen lassen mit: ORDER BY RAND() LIMIT 1

Falls du eine einfachere Art suchst ans Ende einen Array einen Wert hinzuzufügen, das geht mit leeren Klammern:

<?php
$g_word_ws = array();
while($row = mysql_fetch_array($resultw)) {
$g_word_ws[] =$row['word'];
}
?>

Wenn du zufällig einen Schlüssel aus dem Array haben willst, schau einfach nach wieviele Werte im Array drin sind mit:
<?php
$anzahl = count($g_word_ws);
?>

und hol dir dann mit rand() zufällig einen Wert heraus:

<?php
$zufall = rand(0, ($anzahl-1));
?>

$anzahl-1 mussst du machen, weil die Anzahl die Summe aller vorhandenen Werte ausgibt, die Keys aber bei 0 zu zählen begonnen werden.

Ich konnte aus deiner Frage auch nicht wirklich schlau werden und hab deswegen mall alles hergschmissn was mir dazu eingfallen is, hoffe du kannst damit was anfangen.

rompers
rompers am Montag, 23. April 2007 um 09:28

ja danke das ist es gewesen ;)
danke