Daten NEBENEINANDER anordnen und Zeilenumbruch

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

  • Daten NEBENEINANDER anordnen und Zeilenumbruch

    Hallo zusammen,

    ich steh grad entweder total aufm Schlauch oder bin zu doof (Mein Tipp: letzteres )

    Auf jeden Fall bekomm ich für folgendes Problem keine Lösung:

    Ich lese Daten aus einer Datenbank aus und ein Datensatz besteht jeweils aus einem Bild und ein paar dazugehörigen Informationen. So wie es jetzt geschrieben ist, werden die Datensätze alle untereinander angeordnet, ich hätte aber gern je drei Datensätze pro Zeile. Wie bekomm ich denn das realisiert *doofguck*

    PHP-Code:

    <?php
                                        
    $user_query 
    mysql_query("SELECT * FROM tblUsers 
    WHERE UserId='"
    .$uid."' ");
                 
     while (
    $user mysql_fetch_array($user_query)) {
                
                    
    $u_name $user["UserName"];
                    
    $u_pic $user["UserPic"];
                    
    $u_mail $user["UserEmail"];
                    
    $u_home $user["UserHome"];
                    
    $u_birth $user["UserBirthday"];
                    
    $u_page $user["HomePage"];
                    

            
    $upic_query mysql_query("SELECT * FROM tblPictures
    WHERE UserId='"
    .$uid."' ");
               while (
    $upic mysql_fetch_array($upic_query)) {
                
                            
    $p_name $upic["PictureName"];
                        
    $p_file $upic["FileName"];
                        
    $p_album $upic["AlbumId"];
                        
    $p_date $upic["Date"];
                        
    $p_desc $upic["PictureDesc"];        
                                                                
                
    ?>
                    
                    <table cellpadding=10>
                        <tr height=90>
                            <td width=50></td>
                             <td width=90 bgcolor="#A7A7A7" border=1>
                             <img src="http://url.de/<?php echo $p_file?>" height=80> 
                             </td>
                            <td width="200" valign="top">
                            <font face="verdana" size="2">
                            <?php echo $p_name?><br>
                            <?php echo $p_album?><br>
                            <?php echo $p_date?><br>
                            <?php echo $p_desc?><br>    
                            </font>
                            </td>
                        <tr>
                    </table>
                            
                <?php
                    
                    
    }    
                }
        
    ?>

  • #2
    Hilfsvariable als Zähler + Modulo:
    PHP-Code:
    $i 0// zaehler
    while (/* ergebnismenge abrufen und zuweisen */)
    {
        if (
    $i == 0)
        {
            echo 
    '<br />';
        }
        
    // ausgabe des datensatzes fuer diesen durchlauf
        
    $i++;

    Nieder mit der Camel Case-Konvention

    Kommentar


    • #3
      Ok, soweist, so unklar.

      Wenn ich das ganze jetzt ohne Tabelle und die anderen Daten
      setze, funktioniert das prima und ich bekomme brav meinen
      Umbruch nach drei Bildern.

      Nun hab ich aber eine Tabelle und irgendwie funkioniert es dann nicht mehr.

      PHP-Code:

      <?php
      $upic_query 
      mysql_query("SELECT * FROM tblPictures WHERE UserId='".$uid."' ");
                          
      $i 0;
                          
      while (
      $upic mysql_fetch_array($upic_query)) {
                  
              
      $p_name $upic["PictureName"];
              
      $p_file $upic["FileName"];
              
      $p_album $upic["AlbumId"];
              
      $p_date $upic["Date"];
              
      $p_desc $upic["PictureDesc"];
                          
              if (
      $i == 0)
                          {                 
                      echo 
      '</tr>';
                         }
                          
      ?>
                          
      <table>
          <tr>
          <td>
          <img src="http://url.de/pictures/<?php echo $p_file?>" height=80>
          </td>
          <td>
          Titel: <?php echo $p_name?>
          Datum: <?php echo $p_date?>
          </td>
                          
          <?php $i++; ?>
      </table>
                              
      <?php
                                      
                                      
      }

      ?>

      Kommentar


      • #4
        Mehrere Tabellen nebeneinander wird ganz ohne Umweg auch nicht funktionieren. Schon gar nicht mit einem einsamen <tr /> als "Trennzeichen".
        Entweder du weichst auf div Kontainer aus, die du mittels float nebeneinander positionieren kannst, oder du überlegst dir etwas anderes, das dir eventuell mehr zusagt. Zumindest ist dir Lösung ($i % 3) für dein eigentliches bzw. ursprüngliches Problem jetzt klar, oder?

        EDIT:

        Du kannst natürlich auch Tabellen verschachteln, um dann jeweils x Tabellen auf eine Zeile zu bekommen... nur schön (im Sinne von semantisch korrekt und überhaupt) ist das nicht.

        Nieder mit der Camel Case-Konvention

        Kommentar


        • #5
          Ich glaub ich tendiere eher zu Container-Variante. Werds morgen mal ausprobieren, hab Dank!

          Kommentar


          • #6
            @Herkules
            PHP-Code:
            if ($i == 0)
                { 
            ergibt wieviele Elemente pro Zeile wenn du bei 0 beginnst ?

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Für $i = 0 keins. Sonst genau 3 pro Durchlauf. Bis auf den letzten Durchlauf natürlich, da kommt's auf die Gesamtzahl der Elemente an: 1 - 3.
              PHP-Code:
              if (($i != 0) && ($i == 0))
              {
                  
              // ...

              Besser?
              Zuletzt geändert von Griecherus; 14.12.2006, 00:52.
              Nieder mit der Camel Case-Konvention

              Kommentar

              Lädt...
              X