Mamy taki kod:
[php:1:f19b214d1f]<?php
$sql = mysql_query( "SELECT * FROM ".$dbpref."members ORDER BY `cl_level` ASC" );
for ( $i = 0; $i < 10; $i++ ) {
echo( 'Level '.$i.':<br />' )
while ( $rekord = mysql_fetch_array( $sql ) ) {
if ($rekord["cl_level"] == $i ) echo( $rekord["nick"].'<br />' );
else break;
}
}
?>[/php:1:f19b214d1f]
W zamyśle chodziło mi o to, żeby jednym zapytaniem wyciągnąć zawartośc tabeli, a następnie wyświetlić ją rozbijając na poszczególne elementy. Wszystko jest ok, do czasu gdy brakuje któregoś z koleji cl_level. Jeżeli dla przykładu występują 0, 1, 3, ..., itd. czyli brakuje 2, to zostanie zgubiny jeden element, jedna osoba zostanie przeskoczona.
Poradziłem sobie z tym, w taki sposób:
[php:1:f19b214d1f]<?php
for ( $i = 0; $i < 10; $i++ ) {
$sql = mysql_query( "SELECT * FROM ".$dbpref."members WHERE `cl_level` = '".$i."'" );
while ( $rekord = mysql_fetch_array( $sql ) ) {
echo( $rekord["nick"].'<br />' );
}
}
?>[/php:1:f19b214d1f]
Niestety w ten sposób otrzymaliśmy aż 10 zapytań do bazy, zdecydowanie za dużo. I tutaj moje pytanie. Jak rozwiązać to inaczej, jedyn zapytaniem