Je eerste Query is prima, maar de tijd is verkeerd:
Kijk maar eens wat je hier hebt gedaan:
$rows=mysql_fetch_array($query_run);
while($rows)
{
echo $rows['banner_no'];
echo $rows['banner_name'];
echo "<a href=\"".$rows['Banner_website_url']. "\">";
echo "<img src=\"".$rows['banner_image_url']."\" width=\"100px\" height=\"100px\">";
echo"</a>";
}
dit zal eindigen in een "oneindige lus" oorzaak $rows
wordt altijd ingesteld. Wat je nodig hebt is:
while($rows=mysql_fetch_array($query_run))
dit veroorzaakt myslq_fetch_array
om een nieuwe regel te retourneren telkens wanneer de while-voorwaarde wordt gecontroleerd. En als alle 4 rijen worden geretourneerd, $rows
zal onwaar zijn en de lus wordt gestopt.
En om compleet te zijn:in je tweede voorbeeld herhaal je precies 4 keer dezelfde rij, die je slechts één keer hebt opgehaald door myslq_fetch_array
aan te roepen .
Een mogelijke oplossing hiervoor is om de rij weer BINNEN de while-loop op te halen:
$i=4;
while ($i>0){
$rows = mysql_fetch_array(...);
$i--;
}
U zou echter de voorkeur moeten geven aan de eerste oplossing, omdat u er dan niet voor hoeft te zorgen dat het aantal resultaten overeenkomt met uw iteratorvariabele.
sidenode:Noem het $row
zonder de 's', want je krijgt altijd maar EEN rij terug.