Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak zrobić aby usuwało wszystkie wpisy z bazy a zostawiało 20?
Saki
post
Post #1





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

Ostrzeżenie: (0%)
-----


Jak zrobić aby usuwało wszystkie wpisy z bazy a zostawiało tylko 20 najnowszych wpisów, chce skrypt uruchamiać co godzinę z Crona i żeby zawsze zostało w bazie 20 wpisów nawet jeżeli nikt nic nie napisał.

Zrobiłem coś takiego ale nie działa:

  1. $delid = 20; // zawsze ma zostać 20 najnowszych wpisów
  2.  
  3. $getcom = mysql_query('SELECT * FROM wp_chat_message');
  4. while($row=mysql_fetch_array($getcom)){
  5. mysql_query("DELETE FROM shoutbox WHERE id <= $delid");
  6. }
  7. }


Ten post edytował Saki 30.06.2011, 04:27:56
Go to the top of the page
+Quote Post
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


  1. DELETE FROM tbl_name ORDER BY created_at DESC LIMIT 20, 99999999;
Go to the top of the page
+Quote Post
Saki
post
Post #3





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

Ostrzeżenie: (0%)
-----


Cytat(Crozin @ 30.06.2011, 05:43:12 ) *
  1. DELETE FROM tbl_name ORDER BY created_at DESC LIMIT 20, 99999999;



Zrobiłem też tak (IMG:style_emoticons/default/biggrin.gif)

  1. $getcom = mysql_query('SELECT id FROM wp_chat_message');
  2. while($row=mysql_fetch_array($getcom)){
  3.  
  4. // jezeli jest powyżej 30 wpisów może usuwać
  5. if ($row['id'] >= '30') {
  6.  
  7. $getcom = mysql_query('SELECT id FROM wp_chat_message ORDER BY id DESC LIMIT 1');
  8. while($row=mysql_fetch_array($getcom)){
  9. $delid = $row['id'] - 20; // zostaną 20 najnowsze wpisy
  10. // echo $delid;
  11. mysql_query("DELETE FROM wp_chat_message WHERE id <= $delid");
  12. // usuń wszystkie wpisy które są mniejsze
  13. }
  14.  
  15.  
  16. }
  17. }


Dzięki (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 07:33