$result = @mysql_query("SELECT * FROM dane ORDER BY id DESC LIMIT $a,1"); ... Chcę wyciągnąć z bazy danych dane, które nie są zerowe. Jeżeli trafi się zero to przejdź jeden rekord niżej. Co robię źle, że nie działa?
@lukas125p: moze zacznij od początku bo to co podałeś nic nam nie mówi. Twój problem równie dobrze może uda się rozwiazać jednym zapytaniem SQL bez tej całej pętli
@lolen: nie - chcę pobrać wartość z pola 'lat', a jeżeli okaże się zerem to przejść pozycję niżej i odczytać ponownie. Do momentu pojawienia się danych, które nie są zerem :)
@qwelukasz: Chcodzi o to, że do momentu złapania fixa przez gps wysyłane są zera na serwer. Chcę wyciągnąć z bazy ostatnią znaną prawidłową pozycję. Niestety zmiany w gpsie nie wchodzą w grę. Nie mam do niego dostępu.
Ok chyba znalazłem. W momencie, kiedy nie ma jeszcze fixa, a gps wysyła dane do bazy w 'crs' pojawia się wartość 1000. Z racji, że kurs nie może być większy niż 360 to zastosowałem coś takiego:
SELECT * FROM dane WHERE crs < 361 ORDER BY id DESC LIMIT 1,1 Działa jak należy, choć może nie jest to w pełni profesjonalne rozwiązanie.
Już widzę jak lewica przejmie resort edukacji, ja, jako nauczyciel, będę musiał przynosić banana do szkoły i uczyć dzieci zakładania kondomów. "Dzisiaj drogie dzieci będziemy uczyć się zakładać prezerwatywy, a tego banana przyniosłem, bo nie staje mi na głodnego".
$a = 0;
$p = $rekord['lat'];
if ($p == 0)
do
{
$a = $a+1;
}
while ($p > 0);
$result = @mysql_query("SELECT * FROM dane ORDER BY id DESC LIMIT $a,1");
...
Chcę wyciągnąć z bazy danych dane, które nie są zerowe.
Jeżeli trafi się zero to przejdź jeden rekord niżej.
Co robię źle, że nie działa?
#programowanie #php #mysql
Twój problem równie dobrze może uda się rozwiazać jednym zapytaniem SQL bez tej całej pętli
@lukas125p: PDO, binding parametrów
SELECT * FROM dane WHERE crs < 361 ORDER BY id DESC LIMIT 1,1Działa jak należy, choć może nie jest to w pełni profesjonalne rozwiązanie.