Heay
Jeg har en kode som skal trække en tilfældig række ud fra en tabel. Men hvordan sikrer man sig at den tilfældige række ikke er slettet?
Jeg finder det højest ID som findes i tabellen og vælger et nummer mellem 1 og det tal. Men hvis der nu er blevet slettet en række midt i tabellen, så findes den række jo ikke mere
Se kodeboksen herunder:
$sql = "SELECT * FROM links ORDER BY id DESC LIMIT 0,1";
$query = mysql_query($sql) OR DIE(mysql_error());
while($row = mysql_fetch_array($query)) {
$highest_id = $row['id'];
}
$randomid = rand(4,$highest_id);
$sql = "SELECT * FROM links WHERE id = '$randomid' LIMIT 0,1";
$query = mysql_query($sql) OR DIE(mysql_error());
while($row = mysql_fetch_array($query)) {
Man kan selvfølgelig lave en if, hvor den tjekker om query giver mere end 0 rækker, men hvordan får man den så til at starte helt forfra og vælge et nyt ID hvis query ikke giver en række?