2012-04-13 2 views
2

Also habe ich eine Abfrage, und obwohl meine Abfrage möglicherweise 20 Ergebnisse zurückgeben kann ich nur, dass es angezeigt wird die ersten 9 Ergebnisse. Es ist ein dummer Grund, warum ich einfach nicht die Abfrageergebnisse bis 9 zu begrenzen, zu diesem Zweck muß ich wissen, wie die während Funktion zu stoppen, wenn i $ 9 erreicht

-Code ist

$i = 0; 
    while($array = mysql_fetch_array($queryresults) && $i <= '9') 
    { 
       echo $array['id']; 
       $i++; 
    } 

Wie Bekomme ich nach dem 9. Ergebnis keine Echos mehr? Vielen Dank!

Antwort

4

Setzen der Randbedingung zuerst auch nur sicherstellen, dass Sie 9 Zeilen holen, nicht und 10 und eine Verwerfungs weil && genannt wird faul (wenn der erste Teil falsch ist, es wird nicht in den nächsten Teil sehen gerade).

$i = 0; 
while($i < 9 && $array = mysql_fetch_array($queryresults)){ 
    echo $array['id']; 
    $i += 1; 
} 

oder wenn Sie Lust sein wollen:

$i = 9; 
while($i-- > 0 && $array = mysql_fetch_array($queryresults)){ 
    echo $array['id']; 
} 

Aber ich finde diesen Fehler anfällig ..

+0

Danke. Ja, ich finde es auch so, aber es ist ein merkwürdiger Umstand, dass ich das tun muss: Mein Chef braucht es nur so, um es auf diese Weise zu tun ... also ... mach es. Schätze die Hilfe! – Darius

0

Ihre $i++ Bedürfnisse innerhalb der while-Schleife sein

Sie sollten auch haben $i <= 9 anstelle von $i <= '9', aber es sollte immer noch so funktionieren wie

0

'9' braucht 9

$i = 0; 
while($array = mysql_fetch_array($queryresults) && $i < 9){ 
    echo $array['id']; 
    $i += 1; 
} 
2
$i = 0; 
while($array = mysql_fetch_array($queryresults) && $i++ < 9) 
    echo $array['id']; 
} 

Hinweise zu sein:

  1. Keine Notwendigkeit 9 in Anführungszeichen setzen
  2. Sie erhöhen-after-Vergleich kann durch $i++ im while tun Loop-Bedingung (obwohl Sie nicht müssen, können Sie es auch nach echo $array['id'] in der While-Schleife Körper).
  3. Vorsicht! Sie wollen < 9 und nicht <= 9 seit dem Start bei Null, oder Sie erhalten 10 Iterationen der Schleife.

Prost

+0

Danke für die Notizen! :) – Darius

+1

Gern geschehen, bitte fühlen Sie sich frei, meine Antwort zu bewerten, wenn es hilfreich war! ;) – Madbreaks

Verwandte Themen