petra1: Daten-Ausgabe unterbrechen

Hallo,

ich habe eine kurze Frage an euch =)

Und zwar möchte ich meine Ausgabe

  
$sql = "SELECT name, farbe  
	FROM stoff";  
$result = mysql_query($sql, $connection) or die(mysql_error());  
$row = mysql_fetch_assoc($result);  
  
do  
{  
   echo $row['farbe'];  
   echo $row['name'];  
}  
while($row = mysql_fetch_assoc($result));  

Nun möchte ich gerne verwirklichen, dass Nur die ersten 2 Datensätze ausgegeben werden. Wie kann ich das machen? Und wie kann ich später eine weitere do-while-Schleife schreiben, die mir dann alle Datensätze ab 3, also 3-8 in meinem Fall, ausgibt?

Liebe Grüße, Petra =)

  1. Hi,

    Nun möchte ich gerne verwirklichen, dass Nur die ersten 2 Datensätze ausgegeben werden. Wie kann ich das machen?

    Einen Zähler mitlaufen lassen und abfragen ...?

    Und wie kann ich später eine weitere do-while-Schleife schreiben, die mir dann alle Datensätze ab 3, also 3-8 in meinem Fall, ausgibt?

    Du kannst natürlich auch vorher die Anzahl der Datensätze ermitteln, und dann mit for-Schleifen arbeiten.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hallo,

      Und wie kann ich später eine weitere do-while-Schleife schreiben, die mir dann alle Datensätze ab 3, also 3-8 in meinem Fall, ausgibt?

      Du kannst natürlich auch vorher die Anzahl der Datensätze ermitteln, und dann mit for-Schleifen arbeiten.

      Oder alles erstmal komplett in ein Array $rows[] einlesen und dann mit der for-Schleife die einzelnen $rows[$i] abrufen.

      Gruß

      jobo

  2. Hallo,

      
    $run = true;  
    $counter = 0;  
    $stop = 2;  
    while ($row = mysql_fetch_assoc($result) && $run) {  
        echo $row["bla"];  
        $counter++;  
        if ($counter > $stop) {  
            $run = false;  
        }  
    }  
    
    

    Gruß

    jobo

  3. =)

    also wenn ich das nun so mache:

    $counter = mysql_num_rows($result); //8  
      
    while (($row = mysql_fetch_assoc($result)) && ($counter != 5))  
    {  
        echo $row["farbe"];  
        $counter++;  
    }  
    
    

    werden die ersten drei ausgegeben.
    Möchte ich jetzt später die restlichen Ausgeben fängt die Schleife aber wieder von vorne an?!
    Was kann ich da machen. Ich brauche die ersten drei ja nicht nochmal!
    LG, Petra

    1. Hallo,

      =)

      also wenn ich das nun so mache:

      $counter = mysql_num_rows($result); //8

      while (($row = mysql_fetch_assoc($result)) && ($counter != 5))
      {
          echo $row["farbe"];
          $counter++;
      }

      
      >   
      > werden die ersten drei ausgegeben.  
      > Möchte ich jetzt später die restlichen Ausgeben fängt die Schleife aber wieder von vorne an?!  
      > Was kann ich da machen. Ich brauche die ersten drei ja nicht nochmal!  
        
      Das hängt davon ab, ob das ein neuer Request ist oder nicht. Ansonten greift sich das nächste $row = mysql\_fetch\_assoc($result) dann den nächsten Datensatz.  
        
      Gruß  
        
      jobo