Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] usuwanie rekordów od 2 tyg w tył
damianm2007
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 5.05.2008

Ostrzeżenie: (20%)
X----


witam.

chce zrobić usuwanie wpisów z bazy od 2 tyg w tył do dalej czyli chce zachowac tylko wpisy z ostatnich 2 tyg a reszte usuwac

mysle ze nalezy to zrobic na zasadzie delete z bazy ale tak mysle co wpisac w zapytaniu wykonywanym do bazy hmmm


a wiec mam tak o

  1.  
  2. <?php
  3.  
  4. $zapyt = "DELETE FROM `ekartka` WHERE `id`= $usun";
  5. //$zapyt = "DELETE FROM `ankieterzy` WHERE `nazwisko` = 'Kowalski'";
  6. $res = mysql_query($zapyt);
  7.  
  8. {
  9. print '<p>id usuniety</p>';
  10. }
  11. else
  12. {
  13. print '<p>Nie udalo sie usunac </p>' . mysql_error() ;
  14. }
  15. ?>
  16.  


co tu dopisać aby kasowało z ponad 2 tyg a ostatnie 2 nie ruszało ?

Ten post edytował damianm2007 18.01.2011, 11:18:19
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
damianm2007
post
Post #2





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 5.05.2008

Ostrzeżenie: (20%)
X----


Cytat(celbarowicz @ 19.01.2011, 20:08:06 ) *
Kolego, w jakim formacie jest data w bazie?
aby cofnąć czas od dzisiejszej daty
  1. $dni=14;
  2. echo $wynik = date("Y-m-d",( strtotime("-$dni day")));
  3.  

Możesz zamienić w/w czas na time i zacząć kasować
Nie sprawdzałem jak to zachowuje się przy zmianie czasu letniedo i ...
// jeśli czas w bazie nie jest time to pobierasz dane z bazy
i musisz zrobić tak, aby daty były w jednakowym formacie time
  1. //
  2. strtotime($twoja_data_z_bazy);
  3.  
  4. strtotime($wynik);
  5.  
  6.  
  7.  
  8. if(strtotime($twoja_data_z_bazy)<strtotime($wynik)){usuwasz rekord z bazy używając indeksu lub w inny wykombinowany sposób }else(questionmark.gif)
  9.  
  10.  


Sprawdzę dziś albo jutro



Cytat(Kshyhoo @ 19.01.2011, 20:33:00 ) *
Dostałeś gotowy kod, miałeś go tylko wklepać. Chciałeś usuwać rekordy starsze niż 14 dni...


no wiem i nie działa a dobrze wstawilem

taki błąd wywala
Kod
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

czas mam jako datetime w bazie z php wpisuje się automatycznie przy dodawaniu poprzez

  1.  
  2.  
  3. $czas = date("Y-m-d H:i");
  4.  
  5. if(isset($_POST['submit'])) {
  6. $zapytanie = "INSERT INTO ekartka(czas) VALUES (NOW())";
  7.  


^ kawałek z kodu.


//// Edit Działa już (IMG:style_emoticons/default/smile.gif) $query = mysql_query("DELETE FROM ekartka WHERE czas<DATE_SUB(NOW(),INTERVAL 14 DAY)") or die (mysql_error());
brakowało zamknięcia za DAY....

Ten post edytował damianm2007 19.01.2011, 21:16:56
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 02:00