Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]wyszukanie brakujących rekordół
Forum PHP.pl > Forum > PHP
Mlodycompany
Powitać. Mam odpalonego crona co minute, który dodaje wpis do bazy. Niestety jak maszyna nie działa to wpis się oczywiście nie dodaje. Chciałbym wyświetlić sobie kiedy tych wpisów brakuje. Myślałem nad pobraniem wszystkich rekordów do php i sprawdzanie gdzie jest luka w danych, ale chyba to nie jest zbyt optymalne. Macie jakiś pomysł jak można coś takiego wykonać?
memory
schemat tabeli jak można
Mlodycompany
dam tylko potrzebne kolumny czyli
ID | time

chodzi o to, że mam np wpisy

1|0
2|60
3|120
4|240

i, żeby mi pokazało, że brakuje wpisu z timem 180
kefirek
  1. SET @m:=-60;
  2. SELECT pozycja FROM (
  3. SELECT *, @m:= @m+60 AS pozycja FROM NAZWA_TABELI
  4. ) AS tab LEFT JOIN NAZWA_TABELI b ON (pozycja=b.time) WHERE b.time IS NULL


tam gdzie NAZWA_TABELI podajesz dwa razy tą samą nazwe
Mlodycompany
o kurcze, okazało się, że time w bazie nie jest timem z równej minuty tylko z momentu odpalenia crona czyli nie idzie co 60s :/
jakieś szybkie zapytanko na reperację tego faktu?
kefirek
Czyli jakie masz wartosci w kolumnie podaj przykład ?
Mlodycompany
np takie

1337288642

1337288382

1337288701

ostatnia cyfra zależy od tego w której sekundzie minuty wykonał się cron, teraz nowe wpisy już są ok bo poprawiłem skrypt ale stare są właśnie w taki sposób
@EDIT
Z timem się uporałem, lecz zapytanie
  1. SET @m:=-60;
  2.  
  3. SELECT pozycja FROM (
  4.  
  5. SELECT *, @m:= @m+60 AS pozycja FROM NAZWA_TABELI
  6.  
  7. ) AS tab LEFT JOIN NAZWA_TABELI b ON (pozycja=b.time) WHERE b.time IS NULL

strasznie obciąża maszynę i wykonuje się dosyć długo więc ten sposób raczej odpada...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.