tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
437
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    deinschanz deinschanz ist offline Mitglied
    Registriert seit
    Mar 2003
    Ort
    Rheinlandpfalz
    Beiträge
    12
    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-Code:
    $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!
     

  2. #2
    Avatar von loki2002
    loki2002 loki2002 ist offline Mitglied Platin
    Registriert seit
    Jan 2002
    Ort
    011000110011011000110100
    Beiträge
    614
    PHP-Code:
    $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) ..
     

  3. #3
    Avatar von Nils Hitze
    Nils Hitze Nils Hitze ist offline Admin a.D.
    Registriert seit
    Sep 2000
    Ort
    Dachau
    Beiträge
    2.201
    Blog-Einträge
    104
    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-Code:
     SELECT zazb FROM testa ORDER BY zazb 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-Code:

    $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($temp1);

    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
     

  4. #4
    deinschanz deinschanz ist offline Mitglied
    Registriert seit
    Mar 2003
    Ort
    Rheinlandpfalz
    Beiträge
    12
    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!
     

  5. #5
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.806
    Blog-Einträge
    5
    @Jonathan: Ui, Bildungslücke
    Code :
    1
    
    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())
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  6. #6
    deinschanz deinschanz ist offline Mitglied
    Registriert seit
    Mar 2003
    Ort
    Rheinlandpfalz
    Beiträge
    12
    Ok!
    Mit MySql ****. 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!
     

  7. #7
    Avatar von Nils Hitze
    Nils Hitze Nils Hitze ist offline Admin a.D.
    Registriert seit
    Sep 2000
    Ort
    Dachau
    Beiträge
    2.201
    Blog-Einträge
    104
    @reima : sieht man's mal wieder, man lernt nie aus.

    Jona
     

Ähnliche Themen

  1. Zufallszahl
    Von BassBox im Forum C/C++
    Antworten: 11
    Letzter Beitrag: 27.12.10, 15:12
  2. Zufallszahl aus DB
    Von EGJSoldier im Forum PHP
    Antworten: 6
    Letzter Beitrag: 25.01.10, 15:02
  3. Zufallszahl
    Von lz9c1j im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 21.12.04, 09:18
  4. Zufallszahl
    Von dwiist im Forum PHP
    Antworten: 7
    Letzter Beitrag: 29.01.04, 09:50
  5. Zufallszahl zw. 11 u. 7
    Von pulmoll im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 16.01.04, 14:35