Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Suma rekordów z jednej kolumy
Forum PHP.pl > Forum > Bazy danych > MySQL
djgarsi
Witam. Potrzebuje funkcję, która zsumuje mi rekordy o podanym id z jednej kolumny.smile.gif Jeśli byłby ktoś tak miły i podał mi takowy kod, byłbym bardzo wdzięczny.smile.gif
skowron-line
  1. SELECT sum( kolumna ) .....

Lenistwo aż bije po oczach.
djgarsi
Niestety funkcja:

  1. $zapytanie = mysql_query("SELECT sum(pobran) AS pobran FROM file ORDER BY pobran DESC LIMIT 1");
  2. $rekord = mysql_fetch_array($zapytanie);
  3. $last_spobran = $rekord['pobran'];
  4. echo $last_sid;


nie dziala. Wyświetla mi pusty ekran.sad.gif
blooregard
Cytat
Wyświetla mi pusty ekran

To nie znaczy, że zapytanie nie działa, tylko że w Twoim kodzie PHP jest coś zrąbane.

Daj na początek:
  1. ini_set('display_errors' , 1);


i będziesz wiedział, co jest nie tak.

Przy okazji uwaga dla Ciebie i wszystkich innych początkujących programistów PHP: NIE MA TAK, że kod jest ok, a nic się nie wyświetla (no chyba, że tak ma być, tzn. skrypt nie wyprowadza żadnych wyników wykonania na ekran, ale jakoś w przypadku serwisów internetowych w PHP ciężko mi sobie to wyobrazić...). ZAWSZE coś się wyświetli, jeśli nie to, czego oczekiwaliście, to komunikat błędu. Ale żeby go zobaczyć, trzeba WŁĄCZYĆ raportowanie błędów podaną powyżej instrukcją. To raz.

Dwa. Jeśli zapytanie nie zrwaca Wam oczekiwanych wyników, przeklejcie je do phpMyAdmina i tam je wykonajcie. Jeśli zapytanie wykona się prawidłowo, błąd tkwi w kodzie PHP. Jeśli błąd będzie w zapytaniu - serwer MySQL poprzez phpMyAdmin'a Wam to pięknie pokaże w jeszcze piękniejszym komunikacie błędu.

Trzy. Nie wiesz, jakie wartości przyjmują dane zmienne w danym miejscu? Używaj echo, print_r i var_dump, aby wyświetlać sobie wartości zmiennych w problematycznych miejscach.

Cztery. Jeśli budujesz zapytanie SQL z wykorzystaniem zmiennych PHP, to wyświetl sobie kompletne zapytanie poleceniem echo PO jego skonstruowaniu, a sam zobaczysz, czy wszystkie zmienne, jakie oczekiwałeś, by znalazły się w zapytaniu, faktycznie tam są i czy przyjmują spodziewane wartości.
djgarsi
Nadal nic nie wyświetla.sad.gif
blooregard
daj cały kod
robson_admin
Cytat(djgarsi @ 17.12.2009, 23:16:11 ) *
$last_spobran = $rekord['pobran'];
echo $last_sid;[/php]

No bardzo dziwne że nie działa...

echo $last_sid; zmień na echo $last_spobran;
skowron-line
Wrzuć zapytanie do PMA i zobacz czy zwróci jakiś wynik.
djgarsi
Wrzuciłem zapytanie do PMA i działa.smile.gif Jednak kod:

  1. ini_set('display_errors' , 1);
  2. include('db_connect.php');
  3. $zapytanie = mysql_query("SELECT sum( pobran ) AS pobran FROM file ORDER BY pobran LIMIT 1");
  4. $rekord = mysql_fetch_array($zapytanie);
  5. $last_spobran = $rekord['pobran'];
  6. echo $last_pobran;


nic nie wyświetla.sad.gif


Edit: He. Literówka była i nie działało.smile.gif Juz śmiga.smile.gif Dziękuję śliczne za pomoc wszystkim.smile.gif
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.