Anzeige:
Seite 2 von 2 ErsteErste 12
Ergebnis 16 bis 21 von 21

Thema: zufall

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

    Soo... um alle unklarheiten zu beseitigen und jetzt mal klarheit zu schaffen:
    Hier die Lösung für dein Problem!
    @localhost:
    Ich habe es so gut dokumentiert wie ich konnte... ich hoffe jetzt verstehst auch du das!
    @msi:
    Schau dir mal die Modulo Geschichte an! Eignet sich für solche Sachen besser.

    PHP-Code:
    <?php
    //Wir füllen das Array $bilder mit Werten
    $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";

    //Jetzt mischen wir das Array zufällig durch
    shuffle($bilder);

    //Jetzt bauen wir uns die Ausgabe zusammen.
    //<table> muss ausserhalb der schleife stehen... nur das was
    //sich wiederholt kommt innenrein
    echo "<table>\n";

    //Wir öffnen das erste <tr>
    echo "<tr>\n";


    //Nun legen wir fest wieviele Bilder wir pro Zeile anzeigen wollen:
    $bpz=2;

    //Ich verwende einen etwas weniger umständlichen Ansatz um
    //herauszufinden, ob wir ein <tr> ausgeben müssen!

    //Jetzt wird das $bilder array genommen und für jeden eintrag im
    //Array wird ein Schleifendurchlauf erzeucht (for each halt!).
    //Dabei ist $i der Schlüssel des aktuellen Array eintrags und
    //$bild der Wert!
    foreach($bilder as $i=>$bild)  {

      
    //Wir verwenden Modulo, um zu prüfen ob wir <tr> ausgeben müssen!
      //Die Modulo Operation ergibt den Rest einer Division...
      //Wenn also der Index des Arrays ohne Rest durch $bpz
      //Teilbar ist müssen wir eine neue Tabellenzeile ausgeben.
      //Wir müssen die Ausgabe aber verhindern, falls der Index 0 ist, da dieser
      //immer den Rest 0 hat
      
    if (!($i $bpz) && ($i>0)) {
        echo 
    "</tr>\n";
        echo 
    "<tr>\n";
      }
      echo 
    "<td>$bild</td>\n";

      
    //Jetzt zählen wir hoch!
      
    $i++;
    }

    //Nun fügen wir noch Dummy <td>´s ein, falls wir nicht genug Bilder für die letzte
    //Zeile mehr haben (ansonste zerreist es uns ja die Tabelle)!
    while ($i $bpz) {
      echo 
    "<td>&nbsp;</td>\n";
      
    $i++;
    }

    //Wir schließen das letzte <tr> und die Tabelle
    echo "</tr>\n";
    echo 
    "</table>\n";
    ?>
    Geändert von Gaert (09-03-2003 um 12:47 Uhr)


  2. #17
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Ich sehe grad ihr habt schon wieder weitergepostet...
    Localhost, bitte auch wenns sauschwer fällt,
    poste mal so, dass wir auch verstehen, was du eigentlich willst!


  3. #18
    Registrierter Benutzer
    Registriert seit
    07.11.2002
    Beiträge
    396
    ok von zeit zur zeit brauch ich eine anstubs in sachen rechtschreibung usw ich bemühe mich ncoh mal daruf zu achten

  4. #19
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    Original geschrieben von Gaert
    @msi:
    Schau dir mal die Modulo Geschichte an! Eignet sich für solche Sachen besser.
    [/B]
    an modulo hatte ich wirklich nicht gedacht, aber du hast Recht, dein Stil ist wesentlich eleganter.

    Markus

  5. #20
    Registrierter Benutzer
    Registriert seit
    05.06.2002
    Ort
    Hof
    Beiträge
    154
    Original geschrieben von localhost
    ok von zeit zur zeit brauch ich eine anstubs in sachen rechtschreibung usw ich bemühe mich ncoh mal daruf zu achten
    Hmm, ich würde weniger sagen, in Sachen Rechtschreibung.
    Besser wäre es, wenn Du Dein Problem ausführlicher und
    klarer Beschreiben würdest. Einen Schritt nach dem anderen
    aufführst.

    Beim Anschauen der Beispiel-Codes der Leute, die Dir helfen
    wollen, solltest Du den Quellcode genau ansehen und Dir
    klar machen:
    Was will mir der Kerl da genau sagen?
    Warum hat der jetzt das mit dem Zufall weggelassen und nur "shuffle" geschrieben?
    Was macht "shuffle" überhaupt?

    Schaue auf www.php.net in der Documentation, die
    übrigend sehr gut ist, nach und LESE, was der Befehl
    macht.

    Man kann übrigens sehr leicht zu der Dokumentation kommen,
    in dem man an das http://www.php.net/ einfach den namen
    der Funktion anhängt. Also: http://www.php.net/shuffle
    Da stehen dann auch noch ein paar weitere hilfreiche Infos, die
    von anderen Benutzern eingefügt wurden.

    Es sei denn Du möchtest, dass die Arbeit von den Leuten hier
    im Forum gemacht wird und Du nur das fertige Skript, nach Deinen
    Wünschen programmiert bekommst :-)

    Wichtig ist: Lesen! Nicht einfach kopieren und einfügen. Sondern
    lernen, anpassen und einfügen. Dann wirst Du schnell Fragen nicht
    mehr stellen müssen, sondern weisst, wie Du sehr einfach an die
    Lösung Deiner Probleme kommst.

    cu, stop.h

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

    Thumbs up

    Schön gesagt!


Lesezeichen

Berechtigungen

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