Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]wyświetlenie zliczania rekordów
Forum PHP.pl > Forum > Przedszkole
peklo
Witam
mam takie przykładowe zapytanie do zliczania rekordów

  1. $sql="SELECT sql_calc_found_rows .....
  2. $stmt=$pdo->prepare($sql);
  3. $stmt->execute();
  4. while($ogloszenia = $stmt -> fetch())
  5. {
  6. //tabela z rekordami
  7. }
  8.  
  9. $sql = "select found_rows()";
  10. $stmt = $pdo->query($sql);
  11. $recordsCount = $stmt->fetchColumn(0);


i teraz tutaj normalnie wyświetla i zlicza mi rekordy coś w stylu
echo $recordsCount;

Chciałbym żeby wyświetlenie informacji o zliczonych wierszach pojawiło się przed tym całym zapytaniem.
Czy jest to mozliwe? Czy muszę wykonać jeszcze jednego selecta ze zliczaniem? A może można napisać jakąś prosta klasę z metodami magicznymi używając set i get?
Forti
Obiektowo nie programuje ale.. Na chwile obecna ja robie tak: logika odzielnie od wyswietlania. W jednym pliku daj to i po prostu include? Nie wiem czy dobrze kombinuje.. Tak mi wpadlo na mysl. Np. Przed znakiem html.
Turson
Może rowCount() pomoże

Cytat
Chciałbym żeby wyświetlenie informacji o zliczonych wierszach pojawiło się przed tym całym zapytaniem.

Żeby pobrać ilość wierszy najpierw trzeba wykonać jakieś zapytanie a nie na odwrót
peklo
ilośc wierszy pokazuje i zlicza mi dobrze tylko że mam tak:
tabela z wierszami na górze, a pod nią wyświetlony jes napis "znalazłeś 30 ogłoszeń"

A chciałbym żeby ten napis był na górze tabeli a nie pod nią

Jeśli przesunę całe to zapytanie przed wyświetleniem tabeli z rekordami to nie wyświetla rekordów tylko je zlicza i pokazuje liczbę smile.gif
  1. $sql="SELECT sql_calc_found_rows .....
  2. $stmt=$pdo->prepare($sql);
  3. $stmt->execute();
  4.  
  5. $sql = "select found_rows()";
  6. $stmt = $pdo->query($sql);
  7. $recordsCount = $stmt->fetchColumn(0);
  8. while($ogloszenia = $stmt -> fetch())
  9. {
  10. //tabela z rekordami
  11. }
Turson
  1. $sql="SELECT .....";
  2. $stmt=$pdo->prepare($sql);
  3. $stmt->execute();
  4. $recordsCount = $stmt->fetchColumn(0);
  5. echo 'Znaleziono '.$recordsCount ;
  6. while($ogloszenia = $stmt -> fetch())
  7. {
  8. //tabela z rekordami
  9. }
  10.  

co w tym trudnego?
peklo
niby nic w tym trudnego ale całe to zapytanie:

  1. $sql = "select found_rows()";
  2. $stmt = $pdo->query($sql);
  3. $recordsCount = $stmt->fetchColumn(0);

służy mi również do stronicowania rekordów:), a samo echo $recordsCount do wyświetlenia ich ilości
Nietsety twoje rozwiązanie Turson nie działa
Turson
Nie rozumiem do czego dążysz. Jak chcesz najpierw policzyć ile rekordów znaleziono, a potem zrobić stronnicowanie czyli np. limit w zapytaniu, to niestety trzeba zrobić 2 oddzielne zapytania
peklo
no i o to mi chodziło
pzd
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.