Posiadam taki o to kod. Problem polega na wyświetlaniu ostatniego wiersza, jeśli nie ma pełnej liczby zdjęc w wierszu to wyświetlają mi się puste zdjęcia.
Co należy zmienic w drugiej pętli, żeby kończyło działanie z ostatnim pobieranym wierszem z bazy?
Dzięki za pomoc
$ile_znalezionych =$result->num_rows;
if ($ile_znalezionych<5){
for($j=1; $j<=$ile_znalezionych; $j++){
$wiersz=$result->fetch_assoc();//pobiera jeden wiersz ze zbioru wynikowego i zwraca go w postaci tablicy, identyfikatorami sa nazwy pol wiersza
echo '<a href="photos/'.$wiersz['zdjecie'].'.jpg" title="'.$wiersz['opis'].'">'; echo '<img src="photos/'.$wiersz['zdjecie'].'.jpg" width="72" height="72" alt="" />'; }
}
else{
if(($ile_znalezionych%5) != 0)
$konc=1;
else $konc=0;
for($i=1; $i<=(($ile_znalezionych/5)+$konc); $i++){
//for($j=1; $j<=5; $j++){
$k=1;
while($ile_znalezionych && $k<=5){
$wiersz=$result->fetch_assoc();//pobiera jeden wiersz ze zbioru wynikowego i zwraca go w postaci tablicy, identyfikatorami sa nazwy pol wiersza
echo '<a href="photos/'.$wiersz['zdjecie'].'.jpg" title="'.$wiersz['opis'].'">'; echo '<img src="photos/'.$wiersz['zdjecie'].'.jpg" width="72" height="72" alt="" />'; $k++;
}
}
}
edit..
Zrobione, w drugiej pętli wewnątrz wystarczyło dodac klauzurę if
for($i=1; $i<=(($ile_znalezionych/5)+$konc); $i++){
for($j=1; $j<=5; $j++){
//$k=1;
//while($ile_znalezionych && $k<=5){
$wiersz=$result->fetch_assoc();//pobiera jeden wiersz ze zbioru wynikowego i zwraca go w postaci tablicy, identyfikatorami sa nazwy pol wiersza
if($wiersz){
echo '<a href="photos/'.$wiersz['zdjecie'].'.jpg" title="'.$wiersz['opis'].'">'; echo '<img src="photos/'.$wiersz['zdjecie'].'.jpg" width="72" height="72" alt="" />'; }
}
Ten post edytował qt0 4.07.2010, 09:58:19