zufall und datenausgabe ??

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

  • zufall und datenausgabe ??

    Mhh... Hallo Leute und wieder hab ich ein Problem,
    Ich habe ein Sript das mir aus einen Array zehn Zufällige Daten ausgeben
    soll, das Problem ist das man die Daten oder besser die Elemente nicht
    richtig ansprechen kann da man ja nicht weiß welche Daten die Zufallsfunktion gewählt hat. also hier mal die Ausgabe :

    Array
    (
    [41] =>Link
    [65] => Link
    [75] => Link
    [1] => Link
    [8] => Link
    [17] => Link
    [51] => Link
    [29] => Link
    [74] => Link
    [13] => Link
    )

    das erreiche ich wenn ich das schreibe:

    echo '<pre>';
    print_r($zufall_arr);
    echo '</pre>';


    nun ich möchte aber nicht das alle 10 Daten untereinander ausgegeben werden, ich möchte das ich z.B. schreibe $zufall_arr[1]; oder 2 oder 3 ...
    also ich brauch irgendwie eine Funktion die nach dem meine Zufallsfunktion
    die 10 Elemente hat diese Zehn Elemente sortiert und umbennent, oder
    gibt es noch eine andere möglichkeit ?


    hier noch das gesamte Script mit viele hilfe des Forums entstanden:-)

    PHP-Code:

    $conn 
    mysql_connect("$MySQL_Host""$MySQL_User""$MySQL_Pass");
    if(
    $conn)
        {
        
    mysql_select_db("$MySQL_Data"$conn);
        }
    else
        {
        die(
    "<b>Oops, something goes wrong</b> ".mysql_error());
        }
    $sql "SELECT * FROM schluessel";
    $alle_produkte=array(); // aray initialsieren
    $result mysql_query ($sql)or die(mysql_error());
    while(
    $row mysql_fetch_array($result))
    {
        
        
    $Name_=$row[T_name];
        
    $sql2 "SELECT * FROM $Name_";
        
    $result2 mysql_query ($sql2)or die(mysql_error());
        while(
    $row mysql_fetch_array($result2))
        {
        
    $alle_produkte[]='<a href="#" onclick="'."window.open
    ('start/1_schaufenster/1_popup.php?Produkt="
    .$row['produkt'].'&Art='.$row['art'].'&Beschreibung='.$row
    ['beschreibung'].'&Bild='.$row['bild'].'&Firma='.$row['firma'].'&Ziel='.$row
    ['ziel'].'&Visitenkarte='.$row
    ['visitenkarte']."', 'NewWindow','toolbar=no,location=no,directories=no,stat
    us=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=600
    ,height=600')"
    .'"><img src="start/"'.$row['link'].'klein/'.$row['bild'].'" alt="" 
    border="0"></a>'
    ;
        }
      }  
        
    // in $alle_produkte stehen jetzt alle links für die produkte drin
        // nun 10 zufällig auswählen
        
    $zufall_arr=array();
        
    srand(time());
        
    $a=0;
        while (
    $a<10)
        {
            
    $zuf=rand(0,count($alle_produkte));
            if (!isset(
    $zufall_arr[$zuf]))
            {
                
    $zufall_arr[$zuf]=$alle_produkte[$zuf];
                
    $a++;
            }
        }
        
        
    // und jetzt die links noch ausgeben
        #echo implode("<br>",$zufall_arr).'<br>';
        // fertig
        
    echo '<pre>';
    print_r($zufall_arr);
    echo 
    '</pre>'

    Gruss Sascha
    Zuletzt geändert von Kleinschmidt; 24.07.2003, 09:36.
    Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

  • #2
    Benutze mal bitte den zeilenumbruch demnächst.

    PHP-Code:
    $zufall_arr=array();
    $zufall_zaehler=array(); // um zu wissen welche array elemente schon gewählt sind
        
    srand(time());
        
    $a=0;
        while (
    $a<10)
        {
            
    $zuf=rand(0,count($alle_produkte));
    //        if (!isset($zufall_arr[$zuf]))
            
    if (!in_array($zuf,$zufall_zaehler))
            {
                
    $zufall_arr[]=$alle_produkte[$zuf];
                
    $zufall_zaehler[]=$zuf;
                
    $a++;
            }
        } 

    so das wärs


    rth
    H I L F E
    GD FreeType Antialising
    Gesuch PHP Entwicklungsumgebung
    ------------------------------------------
    Der Cmabrigde rael tset, sruf whoin du wlilst

    Kommentar


    • #3
      O.K. werd ich machen, sorry.

      Das geht ja schell bei Dir wow. Bin echt begeistert !!!


      Hat alles geklappt, wenn ich mal mehr Zeit habe muss ich das ganze mal
      verdauen und in Ruhe durchlesen.


      Ich habe noch viel zu lernen.


      Gruss und Respekt Sascha.
      Konservative sind sehr für den Fortschritt sofern der auf der Stelle tritt. ( Norman Mailer )

      Kommentar


      • #4
        wäre es nicht am einfachsten, zu anfang einmal mit shuffle() das array zufällig zu sortieren, und anschliessend ganz normal mit array[1], array[2], ... auf die jetzt zufäälig verteilten werte zuzugreifen?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          wäre es nicht am einfachsten, .....
          ja

          aber warum einfach, wenns kompliziert geht, und mann nochwas dabei lernen kann ?

          rth

          p.m.
          @Kleinschmidt was jetzt gerade nicht warum ich beim letzten thread dir die funktion nicht mitgeteilt habe
          sorry
          H I L F E
          GD FreeType Antialising
          Gesuch PHP Entwicklungsumgebung
          ------------------------------------------
          Der Cmabrigde rael tset, sruf whoin du wlilst

          Kommentar

          Lädt...
          X