Random id uit db selecteren
ik heb een script om random een banner te laten zien geschreven. Nu zit ik met hetvolgende.. zodra er een plaatje verwijderd wordt, en dus het id niet meer bestaat! komt de random fucntie bij een niet bestaand id.Nu liet ik hem eerst als het gebeurde hele script weer overnieuw draaien.. totdat het goed is.. beetje nutteloos
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?
include "config3.php";
$dag = date("j", time());
$ip = "$REMOTE_ADDR";
$query = mysql_query("SELECT * FROM bannerpool WHERE credits > '0' AND betaald = '1' ORDER BY RAND() LIMIT 1");
while($object = mysql_fetch_assoc($query)){
$id = $object['id'];
}
$show = $id ;
$query = "SELECT * FROM unieke_bezoekers WHERE ip = '$ip' AND id='$show' AND dag='$dag'";
$result = mysql_query($query) or die (mysql_error());
if(mysql_num_rows($result) == 1 ) {
$query = mysql_query("SELECT * FROM bannerpool WHERE id='".$show."'");
while($object = mysql_fetch_assoc($query)){
$url = $object['siteurl'];
$banner = $object['imageurl'];
$alt = $object['alt'];
$credits = $object['credits'];
}
echo "<a href=\"".$url."\" target=\"_blank\"><img src=\"".$banner."\" alt=\"".$alt."\" width=\"120\" heigth=\"60\" border=\"0\"></a>";
}
else{
$new_credits = $credits - 1;
$sql = "UPDATE bannerpool SET credits='".$new_credits."' WHERE id='".$show."'";
mysql_query($sql) or die ("Database error");
echo "<a href=\"".$url."\" target=\"_blank\"><img src=\"".$banner."\" alt=\"".$alt."\" width=\"120\" heigth=\"60\" border=\"0\"></a>";
$query1 = "INSERT INTO unieke_bezoekers(ip, dag, id) VALUES('$ip', '$dag', '$id')";
$result1 = mysql_query($query1) or die(mysql_error());
}
?>
include "config3.php";
$dag = date("j", time());
$ip = "$REMOTE_ADDR";
$query = mysql_query("SELECT * FROM bannerpool WHERE credits > '0' AND betaald = '1' ORDER BY RAND() LIMIT 1");
while($object = mysql_fetch_assoc($query)){
$id = $object['id'];
}
$show = $id ;
$query = "SELECT * FROM unieke_bezoekers WHERE ip = '$ip' AND id='$show' AND dag='$dag'";
$result = mysql_query($query) or die (mysql_error());
if(mysql_num_rows($result) == 1 ) {
$query = mysql_query("SELECT * FROM bannerpool WHERE id='".$show."'");
while($object = mysql_fetch_assoc($query)){
$url = $object['siteurl'];
$banner = $object['imageurl'];
$alt = $object['alt'];
$credits = $object['credits'];
}
echo "<a href=\"".$url."\" target=\"_blank\"><img src=\"".$banner."\" alt=\"".$alt."\" width=\"120\" heigth=\"60\" border=\"0\"></a>";
}
else{
$new_credits = $credits - 1;
$sql = "UPDATE bannerpool SET credits='".$new_credits."' WHERE id='".$show."'";
mysql_query($sql) or die ("Database error");
echo "<a href=\"".$url."\" target=\"_blank\"><img src=\"".$banner."\" alt=\"".$alt."\" width=\"120\" heigth=\"60\" border=\"0\"></a>";
$query1 = "INSERT INTO unieke_bezoekers(ip, dag, id) VALUES('$ip', '$dag', '$id')";
$result1 = mysql_query($query1) or die(mysql_error());
}
?>
Heeft iemand aub een idee of het op iets als bovenstaande manier kan?? dat er een sql querie is die iets random selecteerd?? ALs nu id in de tabel 17 is, dan komt er uit de query als id 34:S
Of een ander idee hoe ik d it het beste kan oplossen.
Alvast bedankt!!!
ben al achter de fout..