Mehrspaltige Ausgabe von Datensätzen

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

  • Mehrspaltige Ausgabe von Datensätzen

    Hallo, liebe Leute,

    ich möchte schnell ein Gallery-Script basteln.
    Nun bin ich gerade bei einer Übersicht über alle Galleries. In dieser Übersicht sollen pro Zeile max. vier Gallerien mit jeweils einem Thumbnail und dem Gallerienamen vorgestellt werden, also folgender Aufbau:

    +--------------------------------------+
    | Gallery1 | Gallery2 | Gallery3 | Gallery4 |
    +--------------------------------------+
    | Gallery5 | Gallery6 | Gallery7 | Gallery8 |
    +--------------------------------------+
    | Gallery9 | Gallery10 |
    +--------------------------------------+
    Jetzt habe ich mal folgendermaßen angefangen:

    PHP-Code:
    <?php

    $sql 
    "SELECT * FROM `gallery`";

    $result mysql_query($sql,$connect);

    $a 0;
    $b 4// Anzahl der Spalten
    $i 0;

        
    $id $data['id'];
        
    $name $data['name'];
        
    $ordner $data['ordner'];
        
    $vorschau $data['vorschau'];
        
    $comment $data['comment'];
        
    echo 
    '<div align="center">
    <table width="70%" border="0" cellpadding="6" cellspacing="0">'
    ;

    do {
        if(
    $a == 0  && $i++ != 0) {
        echo 
    '<tr>';
        echo 
    '<td>
              <div align="center">
              <a href="index.php?a=subgallery&id='
    .$id.'">
              '
    .$name.'<br>
              <img src="gallery/img/'
    .$ordner.'/thumb/'.$vorschau.'.jpg">
              </a>
              </div>
        </td>
        '
    ;
        
    $a++;
        }
        
        if(
    $a >= $b) {
        echo 
    '</tr>';
        
    $a 0;
        }


    while (
    $data mysql_fetch_assoc($result));

    if(
    $a != 0) {
      while (
    $a $b) {
        echo 
    '<td>&nbsp;</td>';
        
    $a++;
      }

    echo 
    '</tr>';

    }

    echo 
    '</table></div>';

    ?>
    Von der Struktur der Tabelle scheint bei der Ausgabe alles zu passen, allerdings werden die Daten nicht ausgegeben, d.h. die Variablen $id, $name, $ordner und $vorschau erhalten wohl keinen Wert, obwohl die Datenbankverbindung eigentlich steht.

    Ich gehe davon aus, dass ich bei der Ausgabe (evtl. in Zeile 41) etwas falsch mache, weiß allerdings nicht was bzw. warum...

    Könnt ihr mir vielleicht weiterhelfen?

    Vielen, allerbesten Dank schon im Voraus.

    Grüße

    Mimmi

  • #2
    Re: Mehrspaltige Ausgabe von Datensätzen

    Original geschrieben von Mimmi
    PHP-Code:
        $id $data['id'];
        
    $name $data['name'];
        
    $ordner $data['ordner'];
        
    $vorschau $data['vorschau'];
        
    $comment $data['comment']; 
    Hier greifst du auf $data zu einem Zeitpunkt zu, an dem es noch gar nicht existiert.

    (Schalte mal dein error_reporting auf E_ALL, dann sagt dir PHP bei solchen Fehlern gleich Bescheid.)


    Später in der Whileschleife belegst du $data zwar mit Werten - diese benutzt du dann aber nicht mehr.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hallo,

      ich hab den Code nun mal abgeändert:

      PHP-Code:
      <?php

      $sql 
      "SELECT * FROM `gallery`";

      $result mysql_query($sql,$connect);

      $a 0;
      $b 4// Anzahl der Spalten
      $i 0;
          
      echo 
      '<div align="center">
      <table width="70%" border="0" cellpadding="6" cellspacing="0">'
      ;

      do {
          if(
      $a == 0  && $i++ != 0) {
              while (
      $data mysql_fetch_assoc($result)) {
                
      $id $data['id'];
                
      $name $data['name'];
                
      $ordner $data['ordner'];
                
      $vorschau $data['vorschau'];
                
      $comment $data['comment'];
                echo 
      '<tr>';
                echo 
      '<td>
                <div align="center">
                <a href="index.php?a=subgallery&id='
      .$id.'">
                '
      .$name.'<br>
                <img src="gallery/img/'
      .$ordner.'/thumb/'.$vorschau.'.jpg">
                </a>
                </div>
                </td>'
      ;
                
      $a++;
                
                if(
      $a >= $b) {
                echo 
      '</tr>';
                
      $a 0;
                }
             }
          }


      if(
      $a != 0) {
        while (
      $a $b) {
          echo 
      '<td>&nbsp;</td>';
          
      $a++;
        }

        echo 
      '</tr>';

      }

      echo 
      '</table></div>';

      ?>
      Allerdings bleibt der Erfolg praktisch aus, nun bekomme ich ausgegeben:
      Parse error: parse error, unexpected T_IF, expecting T_WHILE in /home/www/web30/html/ts/gallery/index.php on line 41
      Könnt ihr mir nun sagen, woran das liegen könnte?

      Vielen, allerbesten Dank!!!

      Grüße

      Kommentar


      • #4
        Original geschrieben von Mimmi
        Könnt ihr mir nun sagen, woran das liegen könnte?
        *seufz*

        Das sagt die Meldung doch bereits - es wurde WHILE erwartet, stattdessen kommt ein weiteres IF.

        Wo ist denn das WHILE geblieben, das zum DO gehört ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          OK, sorry, ich hatte nicht beachtet, dass im Code vorher eine do-while-Schleife stand und habe die while-Schleife einfach oben hingesetzt, um das von dir vorher beschriebene Problem zu beheben, natürlich erfolglos
          Kannst du mir denn eine andere Möglichkeit sagen, wie ich den Variablen den Wert aus der Datenbank zuteilen kann?

          Der aktuelle, wieder richtig gestellte Code:

          PHP-Code:
          <?php

          $sql 
          "SELECT * FROM `gallery`";

          $result mysql_query($sql,$connect);

          $a 0;
          $b 4// Anzahl der Spalten
          $i 0;
              
          echo 
          '<div align="center">
          <table width="70%" border="0" cellpadding="6" cellspacing="0">'
          ;

          do {
              if(
          $a == 0  && $i++ != 0) {
                    echo 
          '<tr>';
                    echo 
          '<td>
                    <div align="center">
                    <a href="index.php?a=subgallery&id='
          .$id.'">
                    '
          .$name.'<br>
                    <img src="gallery/img/'
          .$ordner.'/thumb/'.$vorschau.'.jpg">
                    </a>
                    </div>
                    </td>'
          ;
                    
          $a++;
                    
                    if(
          $a >= $b) {
                    echo 
          '</tr>';
                    
          $a 0;
                    }
                 }
              }

          while (
          $data mysql_fetch_assoc($result));

                    
          $id $data['id'];
                    
          $name $data['name'];
                    
          $ordner $data['ordner'];
                    
          $vorschau $data['vorschau'];
                    
          $comment $data['comment'];



          if(
          $a != 0) {
            while (
          $a $b) {
              echo 
          '<td>&nbsp;</td>';
              
          $a++;
            }

            echo 
          '</tr>';

          }

          echo 
          '</table></div>';

          ?>
          Vielen, allerbesten Dank!

          Grüße

          Kommentar


          • #6
            Original geschrieben von Mimmi
            Kannst du mir denn eine andere Möglichkeit sagen, wie ich den Variablen den Wert aus der Datenbank zuteilen kann?
            http://php-faq.de/ch/ch-database_mysql.html
            http://tut.php-q.net/mysql.html ff.
            http://schattenbaum.net/php/mstart.php ff.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar

            Lädt...
            X