Komme hier nicht weiter -> for schleife

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

  • Komme hier nicht weiter -> for schleife

    Hi @all,

    ich habe folgendes Problem:

    Ich möchte durch mysql_fetch_array alle Einträge einer Datenbank, durch <td> und <tr> nebeneinander anordnen. Immer 3 in einer Reihe, dann kommt <tr> und eine nächste Zeile mit dem nächsten 3 Einträgen wird angezeigt.

    Hier mein Versuch:

    PHP-Code:
    $countall = mysql_num_rows(mysql_query("SELECT ALL * FROM gal_member"));

    <table width="100%" border="0" bordercolor="#999999" cellpadding="1" cellspacing="0" align="center" class="mainclass">
    <?php for($i=0;$i>=$countall;$i+3) { 
    $query mysql_query("SELECT ALL * FROM gal_member limit '$i','$i+3'")or print mysql_errno()." -&gt; ".mysql_error()."<br>\n"?>    
        <tr>
    <?php while($var mysql_fetch_array($query)) { ?>
        <td width="33%" height="500" valign="top" align="left"><?php include('member.tpl.php'); ?></td>
    <?php ?>
        </tr>    
    <?php ?>
    </table>
    Dies ist mein Versuch, das aufzubauen...das funktioniert aber nicht. Kann mir hier einer helfen, den Code zu verbessern, sodass es funktioniert - ich komm einfach net dahinter...

    wäre echt nett...

    cya CrazyPip

  • #2
    machs lieber so...
    Aber Du musst noch die Daten aus der DB einfügen
    PHP-Code:
    <table width="100%" border="0" bordercolor="#999999" cellpadding="1" cellspacing="0" align="center" class="mainclass">
    <?php 
    $z 
    0;
    while(
    $var mysql_fetch_array($query)) { 
        if(
    $z%3==0) echo '<tr>';
        
    $z++;
        echo
    '<td width="33%" height="500" valign="top" align="left">',
        include(
    'member.tpl.php'); 
        echo
    '</td>';
        if(
    $z%3==0) echo '</tr>';

    ?>
    </table>
    Zuletzt geändert von MelloPie; 05.02.2003, 15:12.
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      @ MelloPie

      Dein Vorschlag dürfte nicht klappen, da zweimal die gleiche Abfrage if($z%3==0)
      PHP-Code:
      <table width="100%" border="0" bordercolor="#999999" cellpadding="1" cellspacing="0" align="center" class="mainclass">
      <?php 
      $z 
      0;
      while(
      $var mysql_fetch_array($query)) { 
          
      $z++;
          if(
      $z==1) echo '<tr>';
          echo
      '<td width="33%" height="500" valign="top" align="left">',
          include(
      'member.tpl.php'); 
          echo
      '</td>';
          if(
      $z==3) {
                   echo 
      '</tr>';
                   
      $z 0;
         }

      ?>
      </table>

      Kommentar


      • #4
        oder so:
        PHP-Code:
        $z 0;
        echo 
        '<tr>';
        while(
        $var mysql_fetch_array($query)) { 
            if(
        $z>0&&$z%3==0) echo '</tr><tr>';
            echo
        '<td width="33%" height="500" valign="top" align="left">',
            include(
        'member.tpl.php'); 
            echo
        '</td>';
            
        $z++;
        }
        echo 
        '</tr>'
        eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

        Kommentar


        • #5
          Hi @all,

          das klappt wunderbar...liegt wohl an meiner Logik
          danke euch allen!

          cya CrazyPip

          Kommentar


          • #6
            Original geschrieben von BielWeb
            @ MelloPie

            Dein Vorschlag dürfte nicht klappen, da zweimal die gleiche Abfrage if($z%3==0)
            So ein Schwachsinn habe ich ja noch nie gehört...
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #7
              @MelloPie:
              dürfta aber wirklich nicht so 100%ig funzen, da du ja immer nach drei zeilen nur eine in die <tr> -tags schreibst
              eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

              Kommentar


              • #8
                @slarti Einzig falsch ist die Platzierung des inkrements das muss zwischen die 2 Abfragen, alles paletti sonst...
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  stimmt. so nach dem motto 'if(++$z%3==0)'...
                  war bestimmt bloß nen test, oder?
                  eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

                  Kommentar


                  • #10
                    Hi Leute!

                    Ich hab mir mal das Beispiel hier rausgenommen und noch was hinzugefügt:

                    PHP-Code:
                    $z 0;
                            while(
                    $row mysql_fetch_assoc($result)) {
                                
                    $z++;
                                if(
                    $z 3) {
                                    echo    
                    "<a href='artwork/".$row['name'].".jpg' 
                    target='_blank'><img src='artwork/"
                    .$row['name'].".jpg' 
                    height='100px' width='100px' class='pics' 
                    alt='"
                    .$row['name']."'></a>&nbsp;&nbsp;";
                                }
                                if(
                    $z == 3) {
                                    echo    
                    "<a href='artwork/".$row['name'].".jpg' 
                    target='_blank'><img src='artwork/"
                    .$row['name'].".jpg' 
                    height='100px' width='100px' class='pics' 
                    alt='"
                    .$row['name']."'></a>&nbsp;&nbsp;";
                                }
                                if(
                    $z==4) {
                                     echo 
                    '<br><br>';
                                     
                    $z 0;
                                }
                            } 
                    Jedoch zeigt es mir von Bild1-Bild7 nur 1,2,3,5,6,7 an :S
                    Kann mir einer sagen wieso? :S

                    Gruss

                    Kommentar


                    • #11
                      Original geschrieben von wkd-
                      Jedoch zeigt es mir von Bild1-Bild7 nur 1,2,3,5,6,7 an :S
                      Kann mir einer sagen wieso? :S
                      Bild 4 fehlt also ...

                      Und was genau macht das Script, wenn $z den Wert 4 erreicht hat, hm ...?
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Deine Antwort sagt mir dass dort der Fehler ist, nur weiss ich net was genau falsch sein soll :S Wieso dass der Fehler bei dieser Stelle liegt, bzw. was der code auslöst das ein DAtensatz einfach nicht angezeigt wird.

                        Gruss

                        Kommentar


                        • #13
                          EDIT:

                          hab den fehler gefunden ^^

                          sorry leute auf jeden fall Danke für die hilfe... ^^

                          Gruss und Danke

                          Kommentar

                          Lädt...
                          X