Witam
Jak powinien wyglądać kod aktualizującu dane w mysql włączany przez cron??
Chodzi mi o to że np jest 50 userów i każdy ma inną wartość w tabeli godziny i chce co godz automatycznie zmieniać ale nie wiem jak to zrobić optymalnie.
Witam
Jak powinien wyglądać kod aktualizującu dane w mysql włączany przez cron??
Chodzi mi o to że np jest 50 userów i każdy ma inną wartość w tabeli godziny i chce co godz automatycznie zmieniać ale nie wiem jak to zrobić optymalnie.
Zakładam że serwer jest Linuxowy i ma PHP.
W php piszesz skrypt do update np. /var/www/update.php (/usr/bin/php-cgi to ścieżka do interpretera)
Serwer jest na linuxie.
Ale jak 1 zapytaniem ogarnąć wszystkich userów?? każdy ma inną wartość więc kod musi pobrać ich wartość zmienic i zapisać?? w pętli?? Tego nie rozumiem.
("UPDATE uzytkownicy SET data=NOW() WHERE _____jakieś_ograniczenia____");[/code]
A co chcesz dokładnie zaktualizować i na co?
Ale mi nie chodzi o to zeby zapisać co godzine aktualną date tylko żeby co 1 godz zwiększyć 1 daną u każdego usera.
Np user Jan ma w tabeli godz wartość “75” a user Karol ma wartość 93 i chce zeby co godzine wykonywał się skrypt który będzie zwiększał tą wartość o 1.
I tu pytanie jak ma wygladać skrypt?? Mam pobrać godz wszystkich userów i zwiększyć o 1 w pętli?? to jak bedzie dużo userów to skrypt będzie trwał strasznie długo.
Chodzi o to że każdy user ma inną wartość więc skrypt musi pobrać wartość każdego usera i zwiększyć ją o 1 i zapisać ale jak bedzie dużo userów to zanim pobierze wszystkich wartosci ,zwiększy i zapisze to będzie długo trwało, tak mi się wydaje. Jak to zrobić??
Mam nadzieję ze rozumiesz.
Pracowałeś kiedyś na bazach danych?
("UPDATE uzytkownicy SET godz=godz+1 WHERE 1"); // wszyscymysql_query("UPDATE uzytkownicy SET godz=godz+1 WHERE id IN (1,43,55,66,77,22)"); // po idmysql_query("UPDATE uzytkownicy SET godz=godz+1 WHERE jakas_data_i_godzina BETWEEN '2013-02-02 00:00:00' AND 2013-02-03 00:00:00"); // ograniczenia dot. jakies daty[/code]
mysql_query("UPDATE uzytkownicy SET godz=godz+1 WHERE 1");
To zaktualizuje wartość każdego usera ale każdemu inną??
A jeśli chce dać limit żeby zwiększało tylko do jakiejś liczby tylko w tym problem ze 1 user ma max 1000 a inny np 600 to jak to zrobić??
Kożystałem tylko z zapytań wyświetlających dane na stronie i zapisujące nowe z takiego czegoś nigdy.
mysql_query("UPDATE uzytkownicy SET godz=godz+1 WHERE godz)
… gdzie godz
to aktualny licznik godzin, a maksymalna_godz pole w tabeli uzytkownicy z limitem godzin.
Dobra wielkie dzięki za pomoc.