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 "pozostaly czas". Chce zeby php lub sql widzac wartosc ktorejkolwiek komorki z rzadu o nazwie "pozostaly czas" wynoszaca 0 lub mniej usuwal caly rekord
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
Mirki chowam tatę. Nie wiem dlaczego to piszę tutaj, biorąc pod uwagę liczbę debilów na portalu... Ale pomyślałem że może ktoś to przechodził i zrozumie.... Jest mi w CH smutno i przykro #zalesie #religia #smierc
$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 "pozostaly czas".
Chce zeby php lub sql widzac wartosc ktorejkolwiek komorki z rzadu o nazwie "pozostaly czas" wynoszaca 0 lub mniej usuwal caly rekord
@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.