kostenloser Webspace werbefrei: lima-city


While Schleife

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    dbfo

    dbfo hat kostenlosen Webspace.

    Hey Community!

    Ich habe folegendes Problem

    <?php 
    require_once('funciones.php');
    #//Database
    conectar('localhost', 'dbo', 'akcore', 'dbo');
    $sql = 'SELECT  *  FROM characters ORDER BY Level DESC';
    $result = mysql_query($sql);
    
    while ($row = mysql_fetch_object($result)) {
    echo ' <table id="rand06">';
    echo " <tr>
                 <th>$row->CharName </th>
    			 <td>is Level $row->Level has $row->Exp Exp need $row->MaxExpInThisLevel to Level up</td><br>
       </tr>
                 </table>";
    		
        }
    ?>


    Ich möchte das die While schleife nur 10x abgespielt wird nicht unendlich oft, da verrutscht mir das ganze Design.
    Hoffe jemand weis Rat.
    Dbfo
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Villeicht hilft dir auf folgender Grundlage mein Code weiter.
    $von gibt an bei welcher zahl du starten willst
    $abstand gibt an welchen abstand die zahlen haben soll. bei diesen Beispiel 5 und drauf folgt 10 usw.
    $bis gibt an bei welcher zahl die schleife aufhören soll zu zählen

    $von = 5;
    $bis = 50;
    $abstand = 5;
    
    while($von < $bis)
       {
       $von = $von+$abstand;
       echo $von;echo"  ";
       }


    Ergebnis bei diesem Code:

    10 15 20 25 30 35 40 45 50

  4. Im Moment läuft die Schleife einfach so lange, wie die Datenbank Ergebnisse liefert. Am sinnvollsten ist jetzt, der Datenbank zu sagen, dass sie maximal 10 Zeilen zurückgeben soll. Das geht mit dem Schlüsselwort "Limit". Ich hab es hier mal in die Abfrage (Zeile 4) eingefügt.

    Außerdem hab ich noch die Ausgabe der Tabelle umgebaut. <table> und </table> dürfen nicht innerhalb der Schleife stehen und das <br> hab ich entfernt, das gehört da nicht hin.
    <?php 
    require_once('funciones.php');
    #//Database
    conectar('localhost', 'dbo', 'akcore', 'dbo');
    $sql = 'SELECT  *  FROM characters ORDER BY Level DESC LIMIT 10';
    $result = mysql_query($sql);
    
    echo '<table id="rand06">';
    while ($row = mysql_fetch_object($result)) {
      echo "<tr>
          <th>$row->CharName </th>
          <td>is Level $row->Level has $row->Exp Exp need $row->MaxExpInThisLevel to Level up</td>
        </tr>";
    }
    echo "</table>";
    ?>
  5. johanneskirchgemeinde

    johanneskirchgemeinde hat kostenlosen Webspace.

    Die Alternative wäre, in der Schleife eine Variable hoch- oder herunterzuzählen und die Schleife nach der gewünschten Anzahl der Durchläufe abzubrechen.

    Aber fuerderers Lösung ist effizienter, da werden nur die benötigten Tabellenzeilen gefetcht.
  6. Autor dieses Themas

    dbfo

    dbfo hat kostenlosen Webspace.

    Ich danke euch hat alles super geklappt :)
  7. Auch wenn ich etwas spät bin...

    Ich würde als erstes auch Limit in die Datenbankabfrage einfügen.

    Falls eine Schleife aber genau 10 mal durchgeführt werden soll, dann gibt es da auch "for".

    for ($i = 1; $i <= 10; $i++) {
        echo $i;
    }


    (http://php.net/manual/de/control-structures.for.php)
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!