Ho due variabili: $over e $quant
Nel caso in cui sto lavorando, i rispettivi valori sono 1 e 11. Di questo sono certo, perchè faccio un echo sulla pagina.
Subito dopo, creo un ciclo for, così:
Codice PHP:
$strip = "";
$start = 0;
for ($i = 1; $i <= $quant; $i++) {
$strip .= "<div class=\"panel\">\n";
$result = mysql_query("SELECT * FROM `strip` WHERE `id` > '$start' AND `section` = '$section' ORDER BY `ord` ASC LIMIT 3");
while ($row = mysql_fetch_array($result)) {
$start = $row["id"];
$strip .= "<img src=\"images/" . $row["small"] . "\" width=\"220\" height=\"110\" />";
}
$strip .= "</div>\n";
}
echo $strip;
if ($over == 1) {
echo "<div class=\"panel\">\n<img src=\"images/vuoto.jpg\" width=\"220\" height=\"110\" /></div>";
}
Il risultato è però totalmente sballato.
Innanzitutto, vengono creati 12 div panel (non 11!...), e - benchè i record che corrispondono alle condizioni della query interna al ciclo for siano, nel caso specifico, 34 - con soltanto 15 immagini all'interno (3+3+3+3+2+1). Altra stranezza, non viene rispettato l'ordine di sequenza delle immagini, come impostato nella query, ed alcune immagini vengono ripetute più volte...
Infine - e questo mi lascia stupefatto! - benchè la variabile $over sia uguale a 1, la condizione prevista dall'if relativo viene del tutto ignorata!
Se, poi, modifico il ciclo for in questo modo:
Codice PHP:
for ($i = 1; $i == $quant; $i++) {
...
}
il ciclo stesso viene del tutto ignorato, mentre viene stampata la condizione prevista dall'if!!!
Ma che succede, sono diventato cieco e stupido, che non vedo/non capisco qualcosa di un'evidenza assoluta???
Perchè io proprio non riesco a venirne a capo!