You are not logged in.

  • Login

1

Sunday, December 18th 2011, 6:46pm

Doppelte einträge aus Datenbank entfernen

Hallo Forum

Folgender Code löscht beendete Gewinnspiele(Logindaten und Emailadresse werden nicht gelöscht)
Jetzt gibt es auch mehrere Gewinnspiele von der selben Person und ich möchte das immer nur ein gelöschtes erhalten bleibt.
Meine Frage ist ob man das da noch einfach einfügen kann und wie?



//Setzt Satatus von "beendet" auf gelöscht;
$ergebnis = mysql_query("SELECT id,time_ende FROM webmaster WHERE status = 'beendet' ");
while($row = mysql_fetch_object($ergebnis))
{
if (time() >= ($row->time_ende+$dauer)) {$update = mysql_query("UPDATE webmaster Set
home = '',home1 = '',titel = '',beschreibung = '',preis= '', beginn = '',ende = '',
time_beginn = '',time_ende = '', time = '',wuerfel_schwarz = '',turnus = '',
status ='geloescht' WHERE id ='$row->id'");
};
};?>

Über hilfe währe ich sehr Dankbar!

2

Friday, December 23rd 2011, 9:13am

Hi,
nur mal zwei Tipps am Rande.
1) Die eingrenzene Bedingung was du löschst, solltest du nicht im PHP machen, sondern in deinem SELECT
2) Du solltest Daten nicht wirklich löschen, sondern in deinem Programmcode entscheiden, dass du beendete Gewinnspiele nicht mehr anzeigst.

Und letztendlich: was möchtest du löschen?
Alle Gewinnspiele von Benutzern die mehr als 1 Spiel haben?

Dann musst du in deinem SELECT ergänzen: ... GROUP BY userspalte HAVING COUNT(userspalte) > 1

Social bookmarks