Ausgabe von Zufallszahl

deinschanz

Gesperrt
Hallo,
ich habe ein Problem mit der Ausgabe von Zufallszahl!

MySql-Tabelle sieht so aus

Spalte: testa

in der Spalte: za zb
1 10

Code:
PHP:
$query = mysql_query("SELECT za,zb FROM testa  ORDER BY RAND() LIMIT 1");
$ergebnis = mysql_fetch_array($query);
$num = $ergebnis["za,zb"];
echo $num;

Und irgendwie zeigt es garnichts an (keine Zahlen)!
Kann jemand behilflich sein ?

danke vorraus!:p
 
PHP:
$query = mysql_query("SELECT za,zb FROM testa ORDER BY RAND() LIMIT 1");

also die spalte heisst => za,zb ? das geht nicht.. da Select nach den spalten za und zb sucht und somit false zurueck gibt, da diese nicht existieren.. somit musst Du da Komma entfernen (Spalte umbenennen) ..
 
Also verstehe ich dich richtig ?

Der Inhalt der Spalte za, zb in der Tabelle testa
ist 1 bzw 10, richtig ? Was du machst ist eine
Abfrage die du nach einer Zufallszahl ordnest.

Das kann so nicht gehen, da du nach einer Spalte
sortieren musst und nicht nach ihrem Inhalt.

Klartext :
Wenn du die Spalte za,zb sortieren möchtest
dann musst du das MySQL auch sagen.

PHP:
 SELECT za, zb FROM testa ORDER BY za, zb ASC

Es gibt soweit ich weiß keine Möglichkeit in
MySQL selbst zufällig zu sortieren. Also
müssen wir uns etwas anderes einfallen lassen.

Und zwar sortieren wir das Ergebniss ganz einfach
in PHP.

PHP:
$query    = mysql_query("SELECT za,zb FROM testa");

while($ergebnis = mysql_fetch_array($query))
{
 $temp[] = $ergebnis["za"] + $ergebnis["zb"];
}

srand((float) microtime() * 10000000);
$num = array_rand($temp, 1);

echo $num;

Ich weiß jetzt immer noch nicht ganz genau wie du
die zwei Spalten zusammen haben möchtest, also ob
du sie addieren, oder zusammenstellen möchtest.

Erklär doch mal was du GENAU möchtest, prinzipiell
ist der Code aber richtig.

Mentor,
Jonathan
 
MySql-Dabelle sieht so aus:
Tabelle testa
Spalte:
za zb
1  9

Und ich möchte,daß zwieschen 1 und 9 die Zufallszahl erzeugt wird.
Ich habe dein Beispielcode genohmen und nach einblendung zeigt es 0 an!:(

Ist es überhaupt möglich von MySql Zufallszahl zu erzeugen?
Danke vorraus!
 
@Jonathan: Ui, Bildungslücke ;)
Code:
SELECT za, zb FROM testa ORDER BY RAND()
... liefert sehr wohl eine zufällige Sortierung! Siehe dazu auch http://www.mysql.com/doc/en/Mathematical_functions.html
From version 3.23 you can do: SELECT * FROM table_name ORDER BY RAND() This is useful to get a random sample of a set SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000.

@deinschanz: Wieso willst du das unbedingt mit MySQL machen? Lies die Werte za und zb doch aus der Datenbank aus und erzeug dann mit PHP-Funktionen eine Zufallszahl... (rand(), srand())
 
Ok!
Mit MySql funz. nicht!
Hier habe ich den Code der nur mit PHP funkzioniert.
Möchte aber,daß die ausgewählte Zahl in MySql-Datenbank gespeichert wird.
Ist das möglich?

function make_seed() {
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
mt_srand(make_seed());
$randval = mt_rand(1,9);
echo $randval;

Danke vorraus!:p
 
Zurück