Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Źle zliczana ilość rekordów count()
Forum PHP.pl > Forum > Przedszkole
Danielcom
Witam

piszę skrypt do porcjowania wyników na stronie. Problem pojawił się gdy ten kod:

  1. $max = 'SELECT id FROM sol_szybowce';
  2. $zapytanie_max = mysql_query($max);
  3. // $r_max zawiera ilosc wszystkich rekordow w tabeli
  4. $r_max = mysql_num_rows($zapytanie_max);


chcę zastąpić (moim zdaniem lepszym rozwiązaniem)

  1. $sql = 'SELECT count(id) FROM `sol_szybowce`';


count() podaje całkowicie inną wartość niż jest w MySQL, ale tylko w PHP w MySQL jest poprawnie.
W efekcie cały skrypt się sypie dry.gif

Proszę o pomoc
darko
Pewnie wartość $r_max wynosi 1. W przypadku select count(id) spróbuj mysql_fetch_row zamiast mysql_num_rows
Danielcom
Właściwie to wartość jest większą od 1. W bazie mam 12 rekordów a
  1. $sql = 'SELECT COUNT(*) FROM sol_szybowce';
  2. $result = mysql_query($sql);
  3. $r_max = mysql_result($result,0);


pokazuje 16 rekordów czyli o 4 więcej.
darko
sprawdź czy:
- łączysz się z tą bazą co trzeba
- nie robisz po drodze od przypisania wartości do wyświetlenia czegoś ze zmienną $r_max
- nie lepiej będzie jednak tak:
  1. $max = 'SELECT count(id) FROM sol_szybowce';
  2. $zapytanie_max = mysql_query($max) or die(mysql_error());
  3. $temp = mysql_fetch_row($zapytanie_max);
  4. $r_max = $temp[0];
erix
Cytat
chcę zastąpić (moim zdaniem lepszym rozwiązaniem)

Masz jeszcze lepsze:
  1. SELECT SQL_CALC_ROWS * FROM tabela LIMIT 0,10

  1. $wszystkie = (wyciągnij z: SELECT FOUND_ROWS())


A jeśli chodzi o przekłamania: podaj wersję MySQL i PHP.
Danielcom
- baza jest ok
- takiej zmiennej nie mam w systemie (system jest dosłownie ogromny, więc wszystkie zmienne mam spisane na papierze smile.gif )
- zmieniłem ten kod, nadal jest to samo

hmm.. pewnie będę musiał sprawdzić kilka funkcji odpowiadających za łączenie i pobieranie danych z MySQL.

Na razie dziękuję za pomoc, do końca skryptu jeszcze daleko więc jak coś to będę pisał.


Pewnie dziwnie to zabrzmi ale to prawda.

Vista zainstalowała aktualizację i męczyła mnie o restart. Po restarcie systemu, a co za tym idzie i wamp serwera wszystko działa:)
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.