[PHP5] Anfänger Problem mit SChleife

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

  • [PHP5] Anfänger Problem mit SChleife

    Hallo,
    wie bekomme ich mit folgenden Code eine Tabelle hin, die so aussieht:

    Bild1, Bild2, Bild3, Bild4
    Bild5, Bild6, usw.

    Ich möchte 20 Bilder darstellen, diese weren aber immer nur nebeneinander gezeugt.

    Hier der Code:
    PHP-Code:
    <?php
    include ("dbconnect_inc.php");  /*Verbindung zur datenbank*/

    $start0;
    $step20;
    $url "details.php";

    $sql"select * from gallery_mike order by Datum limit $start$step";
    $resultmysql_query($sql);

    echo 
    "<body class='body'>";
    $output .="<table border='0' align='center' cellpadding='2' cellspacing='3' width='600'>
    <div align='center'>
                <tr>"
    ;
    while (
    $row mysql_fetch_assoc($result)) {
    $id = ($row['id']);
    $Name = ($row['Name']);
    $Age = ($row['Age']);
    $Telefon = ($row['Telefon']);

    $pic1 GetImageSize("pic/" $row['pic1']);

    $output .="<td><td align='center'><a href='$url?id=$id'><img src='img/$row[pic1]' border='0' $Pic1 alt='$Name'></a><br>
    $Name$Age<br>$Telefon</td></td>";
    }        
    $output.="</tr></div>
    </table>"
    ;
    echo 
    $output;

    ?>
    DAnke und Grüsse Mike

  • #2
    http://www.php-resource.de/forum/sho...threadid=70248
    Slava
    bituniverse.com

    Kommentar


    • #3
      sorry, aber ich kapiers net.

      Bei mir kommt immer alles entweden komplett nebeneinander oder alles Untereinander.

      Grüsse mike

      Kommentar


      • #4
        Re: [PHP5] Anfänger Problem mit SChleife

        Original geschrieben von firemike
        aber immer nur nebeneinander gezeugt.
        die Stellung kannt ich noch nicht:
        also ich zeug meine Bilder immer übereinander.

        lol

        schau Di rmal Deinen Tabellenaufbau an,

        die <td>s und <tr>s
        Zuletzt geändert von Koala; 14.05.2006, 17:55.

        Kommentar


        • #5
          lol...naja ich bin halt ein Bild Zeuger.

          Aber ich versteh immer noch net was Du meinst, was gefällt Dir an dem Tabelllenaufbau nicht ?

          Grüsse Mike

          Kommentar


          • #6
            wo hört denn die while-Schleife auf?

            normalerweise:

            table
            zähler=anzahl der Tabellenzellen

            while schleife
            wenn zähler durch x teilbar dann neue Reihe (tr)
            td ausgeben
            wenn zähler/x dann Reihe schließen (/tr)
            while ende

            table ende

            Kommentar


            • #7
              Tipp:

              PHP-Code:
              if(($i+1) % == 0) {
               
              #Neue Zeile Anweisung, z.b. </td></tr><tr><td>

              Genaue Funktion: Die Anweisung in der if-Bedingung überprüft ob die Variable durch 3 mit Rest 0 geteilt werden kann. D.h. bei jedem 3. Durchlauf wird die if-Schlaufe positiv. Kann natürlich mit beliebiger Zahl gemacht werden, muss nicht die 3 sein.

              Grüsse Chris
              [COLOR=orangered]Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil![/COLOR]

              cubetech in Bern » Webdesign, Infrastruktur, Social Media, VoIP

              Kommentar


              • #8
                HAllo,
                danke für Eure Antworten, aber was heisst das jetzt für meinen CODE ???

                Ich bin echt am verzweifeln, ich habe gesucht, nach modulo, spalten und zeilenweise, aber ich krieg den Mist nicht hin verdammt.

                Könnte mir das jemand freudlicherweise in meinen Code einsetzen und vielleicht auch noch kurz erklären damit ich das verstehe ???

                Wäre echt nett .

                DAnke und GRüsse mike

                Kommentar


                • #9
                  Das mit
                  PHP-Code:
                  if(($i+1) % == 0) {
                   
                  #Neue Zeile Anweisung, z.b. </td></tr><tr><td>

                  wäre natürlich ne möglichkeit. Also wenn ($i+1)/3 aufgeht schreibst du deine Anweisungen,
                  aber warum nimmst du die Zeilen nicht einfach auch in die Schlaufe mit rein?:
                  PHP-Code:
                  <?php
                  include ("dbconnect_inc.php");  /*Verbindung zur datenbank*/

                  $start0;
                  $step20;
                  $url "details.php";

                  $sql"select * from gallery_mike order by Datum limit $start$step";
                  $resultmysql_query($sql);

                  echo 
                  "<body class='body'>";
                  $output .="<table border='0' align='center' cellpadding='2' cellspacing='3' width='600'>";
                  while (
                  $row mysql_fetch_assoc($result)) {
                  $id = ($row['id']);
                  $Name = ($row['Name']);
                  $Age = ($row['Age']);
                  $Telefon = ($row['Telefon']);

                  $pic1 GetImageSize("pic/" $row['pic1']);

                  $output .="<tr><td align='center'>
                  <a href='
                  $url?id=$id'><img src='img/$row[pic1]' border='0' $Pic1 alt='$Name'></a><br>
                  $Name$Age<br>$Telefon</td></tr>";
                  }        
                  $output.="</table>";
                  echo 
                  $output;

                  ?>
                  Ich würde die empfehlen sogar noch das Textfeld div in der Schlaufe zu streichen(hab ich schon getan).
                  Die Tabelle musst du vieleicht noch etwas anders gestalten.

                  Ich hoffe das hilft dir.

                  Kommentar


                  • #10
                    Re: [PHP5] Anfänger Problem mit SChleife

                    PHP-Code:
                    <?php
                    include ("dbconnect_inc.php");  /*Verbindung zur datenbank*/

                    $per_page 20;
                    $per_row 4;
                    $url 'details.php';

                    if (isset(
                    $_GET['page']) && is_numeric($_GET['page'])) {
                        
                    $start $_GET['page'];
                    } else {
                        
                    $start 0;
                    }

                    $sql"SELECT * FROM gallery_mike ORDER BY Datum LIMIT $start$per_page";
                    $resultmysql_query($sql) or die(mysql_error());

                    ?>
                    <body>
                    <table border="0" align="center" cellpadding="2" cellspacing="3" width="600">
                    <tr>
                    <?php
                    $i 
                    1;
                    while (
                    $row mysql_fetch_assoc($result)) {
                        if (
                    $i++ % == 0) {
                            echo 
                    "</tr>\n<tr>";
                        }
                        echo 
                    '<td><a href="'.$url.'?id='.$row['id'].'">'
                            
                    .'<img src="img/'.$row[pic1].'" $Pic1 alt="'.$row['Name'].'"></a><br>'
                            
                    .$row['Name'].', '.$row['Age'].'<br>'
                            
                    .$row['Telefon'].'</td>';
                    }        

                    echo 
                    "</tr>\n</table>\n";

                    if (
                    $page 0) {
                        echo 
                    '<a href="'.PHP_SELF.'?page='.($page-1).'">zur&uuml;ck</a>';
                    }

                    $sql "SELECT COUNT(*) AS 'anzahl' FROM gallery_mike";
                    $result mysql_query($sql) or die(mysql_error());
                    $row mysql_fetch_assoc($result);

                    if (
                    $row['anzahl'] - ($per_page $page) > 0) {
                        echo 
                    '<a href="'.PHP_SELF.'?page='.($page+1).'">weiter</a>';
                    }

                    ?>
                    Das ist auch nicht der Weisheit letzter Schluß, man kann zum Beispiel durch manipulierte URLs über die letzte Seite hinaus blättern, aber dafür ist es kostenlos.

                    Kommentar


                    • #11
                      GROSSES, GROSSES DANKESCHÖN AN EUCH ALLE !!!

                      Kommentar


                      • #12
                        Hoppla, da ist noch ein $Pic1 von deiner Spielerei mit getimagesize() übriggeblieben - solltest du entfernen.

                        Kommentar


                        • #13
                          Alternative

                          Tabellen müssen dafür eigentlich gar nicht sein - mach nen div-container mit der gewünschten Breite - eben so, dass nur z.B. 3 Bilder nebeneinander passen. Gib dann alle Bilder in einem rutsch aus und lasse sie nebeneinander floaten - fertig
                          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                          Schön - etwas Geschichte kann ja nicht schaden.
                          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                          Kommentar


                          • #14
                            man kann die Abneigung gegen Tabellen auch übertreiben...

                            Tabellen sind dafür da Tabelleninhalt darzustellen
                            und eine Imagegallery mit diversen Angaben zu den
                            Bildern ist eine Tabelle !

                            Kommentar


                            • #15
                              Für ne Galerie-Übersicht ist ne Tabelle natürlich schon erlaubt - ich schrieb ja "Alternative" - vorgeschlagen hab ich diesen Weg weil es 1. prinzipiell halt so machbar ist und weil es 2. diese rumprogrammiererei mit neuen tr nach so und so vielen td's erspart.
                              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                              Schön - etwas Geschichte kann ja nicht schaden.
                              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                              Kommentar

                              Lädt...
                              X