webForumDet fria alternativet

Delete from

3 svar · 277 visningar · startad av jboy_87

jboy_87Medlem sedan aug. 20011 099 inlägg
#1

ibland så raderas de nyfinka besökarna helt plötsligt går det och göra nått bättre sett och få bara dem 20 senaste nyfikna att stanna kvar och resten raderas?

$sql = "SELECT ID from nyfikna where Till = '".$_GET['anvandarnamn']."' order by Datum DESC limit 19,1";
$result = mysql_query($sql);
$antal = "0";
@$antal = mysql_result($result, 0);
echo $antal;
if ($antal > 1) {
mysql_query("delete from nyfikna where ID < $antal");
}

//Tack

filipbhMedlem sedan juli 2002405 inlägg
#2

Tycker att din sql-fråga ser jäkligt skum ut.. Hur har du tänkt dig med "limit 19,1"?? Den kan ju bara köra heltal. En annan grej jag tänkte på är att varför "Till" är en variabel.

MungoMedlem sedan jan. 2000372 inlägg
#3

Det är inget fel på SQL-satsen, LIMIT 19, 1 betyder helt enkelt "begränsa urvalet till den 20:e posten" eftersom man börjar räkna på 0 och LIMIT 19, 1 säger börja på post 19, stoppa efter en.

jboy: Du kan använda LIMIT även på en DELETE-sats, kolla in manualen: http://www.mysql.com/doc/en/DELETE.html

jboy_87Medlem sedan aug. 20011 099 inlägg
#4

hmm tack men förstår inte riktigt hur man ska göra lite kod kanske?

125 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)