Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql]wyszukanie brakujących rekordół
Mlodycompany
post
Post #1





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


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ć?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
memory
post
Post #2





Grupa: Zarejestrowani
Postów: 616
Pomógł: 84
Dołączył: 29.11.2006
Skąd: bełchatów

Ostrzeżenie: (0%)
-----


schemat tabeli jak można
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #3





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


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
Go to the top of the page
+Quote Post
kefirek
post
Post #4





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

Ostrzeżenie: (0%)
-----


  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
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #5





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


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?
Go to the top of the page
+Quote Post
kefirek
post
Post #6





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

Ostrzeżenie: (0%)
-----


Czyli jakie masz wartosci w kolumnie podaj przykład ?
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #7





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


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...

Ten post edytował Mlodycompany 11.06.2012, 14:02:16
Go to the top of the page
+Quote Post

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: 25.08.2025 - 06:47