Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 21

Thema: zufall

  1. #1
    Registrierter Benutzer
    Registriert seit
    07.11.2002
    Beiträge
    396

    zufall

    srand(microtime()*1000000);
    $zufall = rand(1,20);
    echo $zufall


    so kann die zahlen 1 bis 20 zelfig erscheinen lassen aber wie kann ich da bilder oder links usw reinmachen ??

  2. #2
    Registrierter Benutzer
    Registriert seit
    26.12.2001
    Ort
    CH
    Beiträge
    122
    Gib den Bildern die Namen von 1-20 und lass sie dann ausgeben.

    PHP-Code:
     srand(microtime()*1000000);
    $zufall rand(1,20);
    $bild $zufall.".jpg";
    echo 
    "<img src\"$bild\">"
    I never saw my PC smiling before - LINUX

  3. #3
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hallo!

    Andere Möglichkeit:
    Du nimmst ein numerisch indiziertes Array, und gibst dem Werte (nicht vergessen dass der index bei 0 beginnt).
    PHP-Code:
    <?php
    $bilder
    []="bild1.jpeg";
    $bilder[]="bild2.jpeg";
    $bilder[]="bild3.jpeg";
    $bilder[]="bild4.jpeg";

    srand(microtime()*1000000);
    $zufall rand(0,3);
    echo 
    $bilder[$zufall];
    ?>


  4. #4
    Registrierter Benutzer
    Registriert seit
    07.11.2002
    Beiträge
    396
    danke

  5. #5
    Registrierter Benutzer
    Registriert seit
    07.11.2002
    Beiträge
    396
    PHP-Code:
    <?php
    $bilder
    []="bild1.jpeg";
    $bilder[]="bild2.jpeg";
    $bilder[]="bild3.jpeg";
    $bilder[]="bild4.jpeg";
    $bilder[]="bild5.jpeg";
    $bilder[]="bild6.jpeg";
    $bilder[]="bild7.jpeg";
    $bilder[]="bild8.jpeg";
    $bilder[]="bild9.jpeg";
    $bilder[]="bild0.jpeg";

    srand(microtime()*1000000);
    $zufall rand(0,3);
    echo 
    $bilder[$zufall];
    ?>
    sagen wie mal cih hätte 10 bilder und will die alle 10 anzeigen lassen auf plätzen aber es soll bei seiten aufbau immer eine ander reihenfolle geben.
    Also das bild 1 mal auf platz 4;5;6;7..,, ist usw bild zwei und so weiter

  6. #6
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hallo localhost!

    Erstmal:
    Kleiner Fehler in deinem Skript - kommt davon wenn man einfach Copy und Paste macht!
    Du hast geschrieben:
    $zufall = rand(0,3);

    => er liefert dir eine Zufallszahl zwischen 0 und 3 => es können immer nur die ersten vier Bilder in deinem Array angezeigt werden.

    Richtig ist:
    $zufall = rand(0,count($bilder)-1);

    In deinem Fall ist es notwendig, das ganze Array durchzumischen. Das machst du mit der Funktion shuffle().

    Also:
    PHP-Code:

    <?php
    $bilder
    []="bild1.jpeg";
    $bilder[]="bild2.jpeg";
    $bilder[]="bild3.jpeg";
    $bilder[]="bild4.jpeg";
    $bilder[]="bild5.jpeg";
    $bilder[]="bild6.jpeg";
    $bilder[]="bild7.jpeg";
    $bilder[]="bild8.jpeg";
    $bilder[]="bild9.jpeg";
    $bilder[]="bild0.jpeg";

    shuffle($bilder);

    foreach(
    $bilder as $bild) {
      echo 
    "<img src=\"$bild\" /><br/>\n";
    }
    ?>


  7. #7
    Registrierter Benutzer
    Registriert seit
    07.11.2002
    Beiträge
    396
    PHP-Code:
    <?
    $bilder[]="http://192.168.1.101?m=1";
    $bilder[]="http://192.168.1.101?m=2";
    $bilder[]="http://192.168.1.101?m=3";
    $bilder[]="http://192.168.1.101?m=4";
    $bilder[]="http://192.168.1.101?m=5";
    $bilder[]="http://192.168.1.101?m=6";
    $bilder[]="http://192.168.1.101?m=7";
    $bilder[]="http://192.168.1.101?m=8";
    $bilder[]="http://192.168.1.101?m=9";
    $bilder[]="http://192.168.1.101?m=0";

    shuffle($bilder);
    $zufall = rand(0,count($bilder)-1); 

    foreach($bilder as $bild) {
    echo "<a href=\"$bilder[$zufall]\" target=_blank>$bilder[$zufall]</a> ";
    }
    ?>
    jetzt kommt aber 10 mal der kleiche link hintereinander.
    Ich meine

    PHP-Code:
    <table><tr
        <
    td>$Bild X</td>
        <
    td>$Bild X</td>
      </
    tr><tr
        <
    td>$Bild X</td>
        <
    td>$Bild X</td>
      </
    tr><tr>
        <
    td>$Bild X</td>
        <
    td>$Bild X</td>
      </
    tr><tr>
        <
    td>$Bild X</td>
        <
    td>$Bild X</td>
      </
    tr><tr>
        <
    td>$Bild X</td>
        <
    td>$Bild X</td>
    </
    tr></table
    und in den felder sollen die bilder kommen aber immer unterschidlich also wo welches ist

  8. #8
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hallo localhost!

    Ich habe oben in der Beschreibung nur eine Fehlerkorrektur für dein Beispiel geliefert!
    Was ich dann als PHP Code geschrieben habe hatte mit dem nichts mehr zu tun!

    Das da 10 mal das gleiche Bild kommt ist doch logisch... wie wärs, wenn du erstmal versuchst das was du programmierst zu verstehen!

    Bitte lies den PHP Code den ich oben gepostet habe nochmal genau durch... es funktioniert genauso wie ich es geschrieben habe!
    Geändert von Gaert (08-03-2003 um 21:01 Uhr)


  9. #9
    Registrierter Benutzer
    Registriert seit
    07.11.2002
    Beiträge
    396
    ja es geht ja aber das ist nicht genau so das was ich brauche.
    Ich brauche eindcih nur die anordung ander aber.
    Also 10 bilder und die kommen auch aber immer ander.

  10. #10
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Bist du sicher, dass du genau das, was ich gepostet habe ausprobiert hast?


  11. #11
    Registrierter Benutzer
    Registriert seit
    07.11.2002
    Beiträge
    396
    PHP-Code:

    <?php
    $bilder
    []="bild1.jpeg";
    $bilder[]="bild2.jpeg";
    $bilder[]="bild3.jpeg";
    $bilder[]="bild4.jpeg";
    $bilder[]="bild5.jpeg";
    $bilder[]="bild6.jpeg";
    $bilder[]="bild7.jpeg";
    $bilder[]="bild8.jpeg";
    $bilder[]="bild9.jpeg";
    $bilder[]="bild0.jpeg";

    shuffle($bilder);

    foreach(
    $bilder as $bild) {
      echo 
    "<img src=\"$bild\" /><br/>\n";
    }
    ?>
    ja doch das scheind es zu sein.
    Aber da habe ich eine ausgabe und wie kann cih das von 10 stellen aus machen also :

    PHP-Code:
    <table><tr
        <
    td>$Bild X</td>
        <
    td>$Bild X</td>
      </
    tr><tr
        <
    td>$Bild X</td>
        <
    td>$Bild X</td>
      </
    tr><tr>
        <
    td>$Bild X</td>
        <
    td>$Bild X</td>
      </
    tr><tr>
        <
    td>$Bild X</td>
        <
    td>$Bild X</td>
      </
    tr><tr>
        <
    td>$Bild X</td>
        <
    td>$Bild X</td>
    </
    tr></table

    so das dan in jedem feld ein bild kommt.

  12. #12
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    PHP-Code:
    .....

    echo 
    "<table>";

    $i=0;
    $intr 0;

    foreach(.... {
      
    $i++;
      if ( 
    $i 2) {
        
    $i=0;
        echo 
    "</tr>";
        
    $intr =0;
      }
      if (! 
    $intr) echo "<tr>";
      echo 
    "<td> !!BILD!! </td>;"  
    }

    if (
    $intr) echo "</tr>";

    echo 
    "</table>\n"
    das ist wohl das was du willst, !!BILD!! und ... (am Anfang) musst du noch entsprechend ersetzen.

    Markus

  13. #13
    Registrierter Benutzer
    Registriert seit
    07.11.2002
    Beiträge
    396
    PHP-Code:
    <?php 
    $bilder
    []="bild1.jpeg"
    $bilder[]="bild2.jpeg"
    $bilder[]="bild3.jpeg"
    $bilder[]="bild4.jpeg"
    $bilder[]="bild5.jpeg"
    $bilder[]="bild6.jpeg"
    $bilder[]="bild7.jpeg"
    $bilder[]="bild8.jpeg"
    $bilder[]="bild9.jpeg"
    $bilder[]="bild0.jpeg"

    shuffle($bilder); 


    echo 
    "<table>"
    $i=0
    $intr 0
     foreach(
    $bilder as $bild)  

      
    $i++; 
      if ( 
    $i 2)  

        
    $i=0
        echo 
    "</tr>"
        
    $intr =0
      } 
      if (! 
    $intr) echo "<tr>"
      echo 
    "<td> $bild </td>"
     echo 
    "<td> $bild </td>"
    echo 
    "<td> $bild </td>"
    echo 
    "<td> $bild </td>"
    echo 
    "<td> $bild </td>"
    echo 
    "<td> $bild </td>"
    echo 
    "<td> $bild </td>"

    if (
    $intr)  
    echo 
    "</tr>"
    echo 
    "</table>"

    ?>
    soweit sogut

    aber jetzt kommt ei jeden $bild alle 10 also 100 bilder kommen aber wie schafe ich das nur eins bei $bild kommt eins pro $bild
    Geändert von localhost (09-03-2003 um 12:13 Uhr)

  14. #14
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    indem du
    echo "<td> $bild </td>";
    nur einmal hinschreibst und nicht gleich 7mal!

  15. #15
    Registrierter Benutzer
    Registriert seit
    07.11.2002
    Beiträge
    396
    Ja ok dan kommten die 10 bilder aber in einer <td>$Bild X</td>
    aber die sollen ja in 10 verschidenen <td>$Bild X</td>
    kommen

    also in jeweils ein <td></TD> soll ein bild rein und das 10 mal und bei jeden auf in einer ander reihenvollge

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •