Dobra, jak zrobic w php lub mysql cos takiego, ze jesli z $conn->query("SELECT cos1, cos2, dataod, datado, DATEDIFF(datado, CURDATE()) FROM jakasbaza"); CURRDATE wyniesie 0 lub mniej to zeby usuwalo rekord z tabeli?
@CancerLight: czyli musze jakos w sql w tabeli dodac rzad np. odliczanie ktory bedzie automatycznie odliczal dni z datado i aktualnej daty? Albo zrobic to jakos za pomoca widoku?
@Czlowiek_Ludzki nie rozumiem o co ci chodzi, nie musisz robić nowego pola. Jak chcesz żeby się systematycznie to działo np co 1h to ustaw crona, który będzie usuwał te wiersze
@rico91: kwerende wiem jak zrobic, tylko jak zrobic zeby wykonywala sie w php?
@Czlowiek_Ludzki: ale nie musisz robić kwerendy. Do usuwania danych z tabeli służy zapytanie DELETE a nie SELECT Czyli w Twoim przypadku będzie coś w stylu $conn->query("DELETE FROM tabela WHERE DATEDIFF(datado, CURDATE()) <= 0");
@CancerLight: moze cos zle napisalem albo pomylilem
nie rozumiem o co ci chodzi,
Mam w html tabele. W mam napisane co mi potrzeba. Wyniki z $wynik = $conn->query("SELECT cos1, cos2, dataod, datado, DATEDIFF(datado, CURDATE()) FROM jakasbaza"); uzupelniaja mi . To DATEDIFF(datado, CURDATE()) uzupelnia mi w o nazwie
Czyli w Twoim przypadku będzie coś w stylu $conn->query("DELETE FROM tabela WHERE DATEDIFF(datado, CURDATE()) <= 0");
@rico91: o to to to. Dzięki wielkie mireczku. Teraz jest tylko taki problem, że po wykonaniu tej kwerendy przez php na stronie zostaje caly pusty rzad, a w rzadzie usuwa sie wszystko poza ID.
@rico91: jednak problem jest nieco inny. Rekordy usuwają się dopiero po odświeżeniu strony. Przy pierwszym wejściu normalnie zostają, dopiero po wejściu drugi raz z dowolnego urzadzenia (nawet tego samego) sie usuwa.
@Czlowiek_Ludzki: Nie jest to dobre rozwiązanie, jeśli zapytanie będzie odpalane na bazie co wejście na stronę. Lepiej tak jak koledzy radzili, zrobić crona albo jakiegoś triggera
$conn->query("SELECT cos1, cos2, dataod, datado, DATEDIFF(datado, CURDATE()) FROM jakasbaza");
CURRDATE wyniesie 0 lub mniej to zeby usuwalo rekord z tabeli?
#php #mysql #sql #programowanie
@Czlowiek_Ludzki: ale nie musisz robić kwerendy.
Do usuwania danych z tabeli służy zapytanie DELETE a nie SELECT
Czyli w Twoim przypadku będzie coś w stylu $conn->query("DELETE FROM tabela WHERE DATEDIFF(datado, CURDATE()) <= 0");
https://www.w3schools.com/php/php_mysql_delete.asp
Mam w html tabele. W mam napisane co mi potrzeba. Wyniki z $wynik = $conn->query("SELECT cos1, cos2, dataod, datado, DATEDIFF(datado, CURDATE()) FROM jakasbaza"); uzupelniaja mi .
To DATEDIFF(datado, CURDATE()) uzupelnia mi w o nazwie
@rico91: o to to to. Dzięki wielkie mireczku. Teraz jest tylko taki problem, że po wykonaniu tej kwerendy przez php na stronie zostaje caly pusty rzad, a w rzadzie usuwa sie wszystko poza ID.
@rico91: okej, nie wiem czemu, ale z drugim i pozostalymi innymi rekordami zadzialalo bez problemu. Jeszcze raz wielkie dzięki.
@januzi: a faktycznie, wystarczylo pomyslec...
Dzieki wielkie.