zufallsbilder

Dieses Thema im Forum "Web Page Design" wurde erstellt von netp, 24.05.2006.

  1. netp

    netp Thread Starter MacUser Mitglied

    Beiträge:
    32
    Zustimmungen:
    0
    MacUser seit:
    28.01.2005
    hi,

    ich möchte gern eine bilderleiste mit 6 bildern nebeneinander darstellen. das besondere soll sein, das die bilder im zufallsprinzip dargestellt werden. jedes mal wenn jemand auf die seite geht, werden 6 bilder aus einem ordner "leisten_bilder" gezogen und dargestellt.

    hat jemand von euch schon mal soetwas geschrieben oder eine ahnung, wie soetwas zu scheiben ist? ich würde mich sehr über eure hilfe freuen.

    danke
    netp
     
  2. PowerBookGrafik

    PowerBookGrafik MacUser Mitglied

    Beiträge:
    812
    Zustimmungen:
    5
    MacUser seit:
    12.03.2005
    kannst du PHP verwenden ?
     
  3. netp

    netp Thread Starter MacUser Mitglied

    Beiträge:
    32
    Zustimmungen:
    0
    MacUser seit:
    28.01.2005
    ja, kann ich. ich habe alle möglichkeiten.
    ich möchte aber versuchen keine datenbank zu verwenden ....
     
  4. PowerBookGrafik

    PowerBookGrafik MacUser Mitglied

    Beiträge:
    812
    Zustimmungen:
    5
    MacUser seit:
    12.03.2005
    PHP:
    <?php 
    $ordner    
    =     "./images/";
    $i         =     0;
    $i2         =     0;
    $action=opendir($ordner); 

    while(
    $datei=readdir($action)){ 
        if(!
    preg_match("!(\.|\..|\.DS_Store)$!"$datei)){ 
            
    $i++;
        }
    }
    $allimg$i;

    $rand1 rand(0,$allimg);
    $rand2 rand(0,$allimg);
    $rand3 rand(0,$allimg);
    $rand4 rand(0,$allimg);
    $rand5 rand(0,$allimg);
    $rand6 rand(0,$allimg);

    $action2=opendir($ordner); 

    while(
    $datei2=readdir($action2)){ 
        if(!
    preg_match("!(\.|\..|\.DS_Store)$!"$datei2)){ 
            if(
    $i2 == $rand1 || $i2 == $rand2 || $i2 == $rand3 || $i2 == $rand4 || $i2 == $rand5 || $i2 == $rand6){
                echo 
    "<img src=\"$ordner/$datei2\">";

            }
            
    $i2++;
        }
    }


    ?>

    pfuscherei ... aber funktioniert ... versuch morgen noch was gscheiteres
     
  5. msslovi0

    msslovi0 MacUser Mitglied

    Beiträge:
    2.713
    Zustimmungen:
    115
    MacUser seit:
    20.03.2005
    Ja, das geht übersichtlicher, aber der Weg ist schon der richtige.

    Preliminaries:
    Wir gehen mal davon aus das wir einen Ordner haben in dem 25 Bilder drin liegen. Die sind durchnummeriert (1.jpg, 2.jpg, 3.jpg, ..., 25.jpg).

    Ziel ist es jetzt also, 6 zufällige Zahlen aus dem Bereich 1 bis 25 auszuwählen, ohne das eine Zahl doppelt vorkommt:
    PHP:
    <?php
    function generate_numbers($min$max$anz)
    {
         
    $array range($min$max);
         
    srand ((double)microtime()*1000000);
         for(
    $x 0$x $anz$x++)
         {
              
    $i rand(1count($array))-1;
              
    $res[] = $array[$i];
              
    array_splice($array$i1);
         }
         return 
    $res;
    }

    // 6 eindeutige Zahlen im Bereich von 1 bis 25 ermitteln
    $random generate_numbers(1256);

    ?>
    Um das ganze jetzt auszugeben, einfach über $random iterieren:
    PHP:
    <?php
      
    for($i=0;$i<sizeof($random);$i++) {
        
    printf("<img src='/img/%s.jpg' alt='' />"$random[$i]);
      }
    ?>
    Matt
     
    Zuletzt bearbeitet: 26.05.2006
  6. netp

    netp Thread Starter MacUser Mitglied

    Beiträge:
    32
    Zustimmungen:
    0
    MacUser seit:
    28.01.2005
    vielen Dank für eure mühe. leider bin ich nicht so der php fachmann. wie binde ich das skript jetzt in die html-datei ein. die bilder liegen bis jetzt noch in einem tabellenrahmen, schön nebeneinander.
    ---
    <table width="400" border="0">
    <tr>
    <th scope="col"><img src="file:///././././bild_1.jpg" width="80" height="80" /></th>
    <th scope="col"><img src="file:///././././bild_2.jpg" width="80" height="80" /></th>
    <th scope="col"><img src="file:///././././bild_3.jpg" width="80" height="80" /></th>
    <th scope="col"><img src="file:///././././bild_4.jpg" width="80" height="80" /></th>
    <th scope="col"><img src="file:///././././bild_5.jpg" width="80" height="80" /></th>
    <th scope="col"><img src="file:///././././bild_6.jpg" width="80" height="80" /></th>
    </tr>
    </table>
    ---
    vielen dank im vorraus für die antworten
    lg
    netp
     
  7. PowerBookGrafik

    PowerBookGrafik MacUser Mitglied

    Beiträge:
    812
    Zustimmungen:
    5
    MacUser seit:
    12.03.2005
    du nimmst das script von ihm und baust das dann so in deine tabelle ein :

    HTML:
    <table width="400" border="0">
    <tr>
    <?php 
      for($i=0;$i<sizeof($random);$++) { 
        printf("<th scope="col"><img src="/img/%s.jpg" alt="" /></th>", $random[$i]); 
      } 
    ?>
    </tr>
    </table>
    
     
  8. msslovi0

    msslovi0 MacUser Mitglied

    Beiträge:
    2.713
    Zustimmungen:
    115
    MacUser seit:
    20.03.2005
    Ich hab mal eben noch den Fehler aus meinem obigen Beispiel rausgenommen (die " innerhalb des printf würden zum parse error führen).
    HTML:
    <table width="400" border="0">
    <tr>
    <?php 
      for($i=0;$i<sizeof($random);$i++) { 
        printf("<th scope='col'><img src='/img/%s.jpg' alt='' /></th>", $random[$i]); 
      } 
    ?>
    </tr>
    </table>
    Für was du aber für das horizontale Platzieren von Bildern eine Tabelle brauchst ist mir absolut schleierhaft...

    Matt
     
  9. cym

    cym MacUser Mitglied

    Beiträge:
    1.352
    Zustimmungen:
    9
    MacUser seit:
    03.05.2004
    Relativ wichtig ist noch, dass Du deine HTMl-Dateiendung (.htm, .html) nach .php unbenennst. Sonst funktioniert nichts. :)
     
  10. PowerBookGrafik

    PowerBookGrafik MacUser Mitglied

    Beiträge:
    812
    Zustimmungen:
    5
    MacUser seit:
    12.03.2005
    msslovi0 ohne PHP auto formatierung highligting ... überseh ich sowas imma