tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
329
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Kreuzkauz Kreuzkauz ist offline Mitglied Bronze
    Registriert seit
    Apr 2008
    Beiträge
    34
    Hallo Leser!


    Ich möchte eine mehrspaltige Zufalls-Bildrotation programmieren.

    Ich habe eine einspaltige MySQL-Tabelle angelegt. Dort stehen 100 Bildnummern drin.

    Es sollen immer 33 Bilder zufällig angezeigt werden.

    Code :
    1
    
    $sql = "SELECT bildnummer FROM lightbox ORDER BY RAND() LIMIT 33;";

    Wie übergebe ich jetzt die Tabellenwerte in die 33 Variablen.

    Das einzigste was annähernd klappt wäre:

    Code :
    1
    2
    3
    4
    5
    
    $sql = "SELECT bildnummer FROM lightbox ORDER BY RAND() LIMIT 33;";
    $result = mysql_query($sql) OR die(mysql_error());
    while($row = mysql_fetch_assoc($result)) {
    $bild[] = $row['bildnummer'];
    }

    Es werden aber nur 3 Bildnummern ausgelesen, die vierte usw. nicht mehr, obwohl die Tabelle voll ist.

    Eine einspaltige Bildrotation bekomme ich ja hin. Aber wenn zwei Bilder nebeneiander stehen sollen, wird es schwer.

    So sieht der PHP-Code für eine Zeile und drei Spalten aus:

    Code :
    1
    2
    3
    4
    5
    
    <tr>
    <td><img src="<?php echo $bild1; ?>"></td>
    <td><img src="<?php echo $bild2; ?>"></td>
    <td><img src="<?php echo $bild3; ?>"></td>
    </tr>


    Thomas
     

  2. #2
    Registriert seit
    Mar 2004
    Beiträge
    1.856
    Blog-Einträge
    2
    Kann ich mir ehrlich gesagt nicht vorstellen, da LIMIT 33 im Query gesetzt wurde.
    Ist das wirklich dein komplettes Script innerhalb der while?
    Poste vielleicht auch mal ein print_r von deinem $bild nach der while:
    PHP-Code:
    echo "<pre>";
    print_r($bild);
    echo 
    "</pre>"
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

  3. #3
    Kreuzkauz Kreuzkauz ist offline Mitglied Bronze
    Registriert seit
    Apr 2008
    Beiträge
    34
    Hallo!

    Danke für die schnelle Antwort. Die Antwort hat meinen Fehler offenbart!

    Hier die Ausgabe:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    echo "<pre>"; 
    print_r($bild); 
    echo "</pre>";  
     
    Array
    (
        [0] => 031683F5F3743E5E6C11E7708077573F
        [1] => 031025844AC1546CF7FEBA3DB4B87ACE
        [2] => 1BC138579DFC40C3423ECD1BB24C6511
        [3] => 0369A2CB6E408FBAECD8BF76FDF6CBCD
    )

    So klappt es doch:
    Code :
    1
    2
    3
    4
    5
    
    $sql = "SELECT bildnummer FROM lightbox ORDER BY RAND() LIMIT 33;";
    $result = mysql_query($sql) OR die(mysql_error());
    while($row = mysql_fetch_assoc($result)) {
    $bild[] = $row['bildnummer'];
    }

    Ich habe schon lange nicht mehr mit Array´s programmiert und habe vergessen, das mit [0] und nicht [1] angefangen wird.

    Thomas
     

  4. #4
    Kreuzkauz Kreuzkauz ist offline Mitglied Bronze
    Registriert seit
    Apr 2008
    Beiträge
    34
    Hallo Leser!


    Vielen Dank für die Hilfe.


    Die Rotation funktioniert jetzt wunschgemäß.



    Thomas
     

Ähnliche Themen

  1. Bildrotation mit Link
    Von lechner32 im Forum PHP
    Antworten: 6
    Letzter Beitrag: 20.12.09, 17:05
  2. Bildrotation um 360°
    Von firecoyote im Forum Sonstige 3D-Programme
    Antworten: 0
    Letzter Beitrag: 30.03.06, 21:39
  3. Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
    Von strandjunge im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 19.01.05, 15:33
  4. Bildrotation ohne neuladen der HP,wie
    Von SanSebastian im Forum HTML & XHTML
    Antworten: 7
    Letzter Beitrag: 23.06.04, 15:52
  5. bildrotation
    Von haldjo1 im Forum HTML & XHTML
    Antworten: 3
    Letzter Beitrag: 14.02.03, 20:09