Eurokicker
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 04.02.2006, 18:09   #1
TP-Member
 
Registriert seit: Jan 2006
Ort: NRW
Nepochal macht alles soweit korrekt

[mysql] Proglem mit delete-befehl


Guten Tag.

Folgender Befehl für Mysql funktioniert nicht:
DELETE FROM nlarchiv ORDER BY zeitstempel LIMIT 0 ,2

kann mir jemand sagen, was daran falsch ist?
Danke im Vorraus.

mfG: Nepochal
Nepochal ist offline   Mit Zitat antworten


Alt 04.02.2006, 18:11   #2
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
limit wird nur im Zusammenhang mit SELECT benutzt.
Du kannst nur schreiben

DELETE FROM `tabelle`
das löscht alles

oder

DELETE FROM `tabelle` WHERE ...
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 04.02.2006, 18:13   #3
TP-Member
 
Registriert seit: Jan 2006
Ort: NRW
Nepochal macht alles soweit korrekt
In der Tabelle werden bei mir alte geschriebene Newsletter gespeichert.
ich möchte aber, dass immer nur die neusten 10 gespeichert sind.
und wenn man die einstellungen auf 5 herabsetzt, dass beim nächsten Newsletter den man schreibt, nur noch die 5 neusten gespeichert sind.

wüsstest du, wie ich das am besten machen kann?
Nepochal ist offline   Mit Zitat antworten
Alt 04.02.2006, 18:17   #4
TP-Member
 
Registriert seit: Jan 2006
Ort: NRW
Nepochal macht alles soweit korrekt
ich packe hier einfach mal das Script rein, wie ich mir das gedacht hatte:

PHP-Code:
$sql="insert into nlarchiv (nick, headline, message, datum, zeit, zeitstempel) values ('$_SESSION[nick]','$_POST[headline]','$_POST[message]',now(),now(),'$stempel')";
mysql_query($sql,$db);

$sql="select * from nlarchiv";
$sql=mysql_query($sql,$db);
$nlaanz=mysql_num_rows($sql);

$delete=$nlaanz $config[nlanz];
echo 
"$nlaanz $delete";
if(
$delete>0){
$sql="delete from nlarchiv order by zeitstempel limit 0,'$delete'";
mysql_query($sql,$db); 
in $config[nlanz] wird gespeichert, wie viele Newsletter archiviert werden sollen.
Nepochal ist offline   Mit Zitat antworten
Alt 04.02.2006, 19:15   #5
TP-Member
 
Registriert seit: Dec 2005
Ort: Braunschweig
Sebastian H. macht alles soweit korrekt
Du kannst es so machen dass du eine ID für die Newsletter speicherst und dann die aktuellste ID ausliest. Von der ziehst du dann die eingestellte Zahl von zu löschenden Newslettern ab und löscht dann einfach alle Newsletter deren ID kleiner gleich der Zahl ist.
Sebastian H. ist offline   Mit Zitat antworten
Alt 04.02.2006, 19:16   #6
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Habe gerade nochmal nachgeschaut und muss meine Aussage revidieren, es geht tatsächlich mit Limit, aber nur mit einer Angabe (absolute Anzahl) und nicht wie bei SELECT mit LIMIT Start, Anzahl

Also lass einfach die 0 weg:

$sql="delete from nlarchiv order by zeitstempel limit $delete";

das sollte gehen.

http://dev.mysql.com/doc/refman/4.0/de/delete.html
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 04.02.2006, 19:38   #7
TP-Member
 
Registriert seit: Jan 2006
Ort: NRW
Nepochal macht alles soweit korrekt
okay, vielen Dank euch beiden

ich habe es jetzt so gemacht, dass ich in einer while-schleife per select immer den ältesten Eintrag gelesen und daraufhin aus der datenbank entfernt habe, aber ich glaube ich nehme dann doch lieber deinen vorschlag, st@eff.en
Nepochal ist offline   Mit Zitat antworten
Alt 05.02.2006, 10:58   #8
TP-Supporter
 
Registriert seit: Dec 2005
[jacky] ist auf einem guten Weg
du brauchst das nichtmal mit ner while schleife zu machen

du könntest es ungefähr so machen, um die älteste newsletter-id auszulesen:

select * from tabelle order by timestamp_spalte desc limit 1

damit hast du den ältesten newsletter (vorrausgesetzt du hast in deiner tabelle ne timestampspalte), und dann kannste ja einfach alles ältere löschen:

delete from tabelle where id <= $id_vom_anderen_query



aber ich denke wirklich, dass steffens methode besser ist. wollte das hier nur nochmal zur erklärung zeigen
[jacky] ist offline   Mit Zitat antworten
Alt 05.02.2006, 14:51   #9
TP-Member
 
Registriert seit: Jan 2006
Ort: NRW
Nepochal macht alles soweit korrekt
jo, so meine ich das ja.
aber die while-schleife benutze ich, damit auch mehrere newsletter gelöscht werden, falls man die einstellungen (anzahl der zu speichernden Newsletter) ändert.
auch an dich nochmal vielen dank
Nepochal ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
[mysql] Proglem mit delete-befehl [mysql] Proglem mit delete-befehl
« Ähm, Counter Problemchen ... | Automatischer FTP download »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:49 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67