Heey,

Ik vraag me af of ik dit gedeelte van mijn script niet kan inkorten? Is het niet mogelijk om meteen de data te weergeven uit de tweede regel van de resultaten uit mysql. ik heb al van alles geprobeerd, maar ik kom er niet uit.

Ik gebruik er nu een while-loop voor om toch bij de regel te komen, die ik moet weergeven. Ik vind het echter behoorlijk omslachtig en denk dat er een makkelijkere manier is. Ik kan er echter niet op komen.
$sql = "SELECT * FROM banner WHERE plek='1' AND datum >= '" . $datum . "'";
$result = mysql_query($sql) or die(mysql_error());
$tel = mysql_num_rows($result);
$banner = rand(1, $tel);
$i = 1;
while($row = mysql_fetch_assoc($result)){
if($i == $banner){
echo '<a href="' . $row['url'] . '" target="_blank"><img src="' . $row['link'] . '" height="60" width="468" alt="banner" border="0" /></a>';
}
$i++;
}

Edit: nee wacht, je wil een random banner hebben? Dan kan je ORDER BY RAND() gebruiken icm limit :)
<?php

$sql = sprintf("SELECT url, link FROM banner WHERE plek = '1' AND datum >= '%s' ORDER BY RAND() DESC LIMIT 1",
mysql_real_escape_string($datum));

$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);

if($row)
printf('<a href="%s" target="_blank"><img src="%s" width="468" height="60" alt="banner" border="0"/></a>',
htmlentities($row['url'], ENT_QUOTES),
htmlentities( $row['link'], ENT_QUOTES));
?>
het werkt echt perfect. Bedankt. Maar zou je me kunnen vertellen wat %s inhoud?


Dat de waarde als string moet worden beschouwd. Zie ook [php]sprintf[/php] en [php]printf[/php].

Reageren