abgleichen von mehreren funktionen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • abgleichen von mehreren funktionen

    also,

    function user1() {

    // ######### Einstellungen #########

    $HOST = "local";
    $ID = "root";
    $PW = "hardtoguess";
    $DB = "user";
    $tabelle = "kd";

    // MySQL Connect
    $conn_id = mysql_connect($HOST,$ID,$PW);
    mysql_select_db($DB,$conn_id);

    // Ermittelt Gesamtanzahl der Srüchen in der DB
    $result = mysql_query("SELECT count(*) FROM ".$tabelle);
    $gesamt = mysql_result($result,0);

    // Schalten den Zufallsgenerator ein
    srand ((double)microtime()*1000000);
    $randval = rand();
    mt_srand($randval);
    // Wählt eine Zufallsnummer für eine Zeile aus
    $zeile = mt_rand(0,$gesamt-5);

    $result = mysql_query("SELECT cort,cname1 FROM $tabelle");
    mysql_data_seek($result,$zeile); // Sprung zu einer Zeile
    $row = mysql_fetch_row($result);
    $ausgabe = " ".$row[1].",\n";
    $ausgabe .= $row[0]."<br>\n";
    mysql_free_result($result); // Speicehrfreigabe
    return $ausgabe;
    }

    diese function wiederholt sich nochzweimal, jeweils
    als user2 und user3,
    sodas am ende drei unterschiedliche user ausgegeben
    werden sollen. mein problem: der zufall:

    wie kann ich die functionen untereinander abgleichen,
    damit nicht zweimal der gleiche user ausgeben wird?

    hintergrund: die user sollen sich auf der
    startseite präsentieren können.

    oder kennt jemand eine einfachere lösung?

    danke für die hilfe im vorraus!

    jan martin


    -----
    anmerkung:
    in den beiden anderen funktionen ist im
    srand ((double)microtime()*1000000);
    natürlich ein anderer wert...



    [Editiert von jmulferts am 03-04-2001 um 13:48]

  • #2
    wenn es sich bloß um die drei Werte handelt, würde ich mir jeweils den gefundenen Wert für User1 in ein Array oder Variable speichern und beim nächsten Funktionsaufruf checken, ob da das Ergebnis schon mal aufgetaucht ist. Falls ja, dann nochmal die Funktion aufrufen. Sowas mache ich zumindest bei fünf rotierenden Bildern, die sich ständig ändern, aber einen gleichen Datenpool besitzen und niemals zwei gleiche Bilder gezeigt werden sollen. Klappt prima!

    Trotzdem würde ich es vielleicht bißchen einfach gestalten:
    zuerst die Anzahl holen, dann drei Zahlen generieren innerhalb der Range mit Kontrolle und am Ende erst gezíelt die drei Datensätze holen.
    Vorteil ist, denke ich, daß du nicht immer wieder auf die DB am Anfang der Funktion zugreifen mußt (Anzahl). Okay, bei dreimal ist das nicht so doll wichtig, aber man muß ja für die Zukunft denken....

    Kommentar

    Lädt...
    X