Viva 4 Zgłoś post Napisano Maj 18, 2015 Witam, Mam następujący problem, po użyciu kodu niżej nie wyświetla mi napisu Łącznie pobrań: $result = $db->query("SELECT dcount FROM dle_files") or die(mysql_error()); while($row = mysql_fetch_array($result)) { $total = $row['SUM(dcount)']; echo "Łącznie pobrań: $total"; } Udostępnij ten post Link to postu Udostępnij na innych stronach
regdos 1848 Zgłoś post Napisano Maj 18, 2015 SUM jest funkcją SQL i to w zapytaniu należy ją umiećić np. SELECT SUM(dcount) AS suma FROM dle_files a potem odwołać się bez pętli do $row['suma'] Udostępnij ten post Link to postu Udostępnij na innych stronach
Viva 4 Zgłoś post Napisano Maj 18, 2015 (edytowany) Hmm, racja. Nie wiem jak tego nie zauważyłem.Ale dalej nie działa... $result = $db->query("SELECT SUM(dcount) FROM dle_files"); while($row = mysql_fetch_array($result)) { $total = $row['dcount']; echo "Łącznie pobrań: $total"; } Taka wersja też $result = $db->query("SELECT SUM(dcount) FROM dle_files"); $row = mysql_fetch_array($result); echo "Łącznie pobrań: $row"; Edytowano Maj 18, 2015 przez Viva (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Vasthi 74 Zgłoś post Napisano Maj 18, 2015 Hmm, racja. Nie wiem jak tego nie zauważyłem. Ale dalej nie działa... $result = $db->query("SELECT SUM(dcount) FROM dle_files"); while($row = mysql_fetch_array($result)) { $total = $row['dcount']; echo "Łącznie pobrań: $total"; } Taka wersja też $result = $db->query("SELECT SUM(dcount) FROM dle_files"); $row = mysql_fetch_array($result); echo "Łącznie pobrań: $row"; $result = $db->query("SELECT SUM(dcount) as dcount FROM dle_files"); while($row = mysql_fetch_array($result)) { $total = $row['dcount']; echo "Łącznie pobrań: $total"; } Powinno zadziałać Udostępnij ten post Link to postu Udostępnij na innych stronach
Viva 4 Zgłoś post Napisano Maj 18, 2015 Również próbowałem w ten sposób, nie ma nawet napisu Łącznie pobrań: Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość l3szcz Zgłoś post Napisano Maj 19, 2015 Usuń pętle while. $result = mysql_query("SELECT SUM(dcount) as dcount FROM dle_files"); $fetch = mysql_fetch_array($result); echo 'Łącznie pobrań: '.$fetch['dcount']; Udostępnij ten post Link to postu Udostępnij na innych stronach
Viva 4 Zgłoś post Napisano Maj 19, 2015 Usuń pętle while. $result = mysql_query("SELECT SUM(dcount) as dcount FROM dle_files"); $fetch = mysql_fetch_array($result); echo 'Łącznie pobrań: '.$fetch['dcount']; Pokazuje napis, liczby brak. Udostępnij ten post Link to postu Udostępnij na innych stronach
xvak380 3 Zgłoś post Napisano Maj 19, 2015 Zmień zapytanie na: SELECT SUM(coalesce(dcount,0)) as dcount FROM dle_files Udostępnij ten post Link to postu Udostępnij na innych stronach
Viva 4 Zgłoś post Napisano Maj 19, 2015 To samo... Udostępnij ten post Link to postu Udostępnij na innych stronach
regdos 1848 Zgłoś post Napisano Maj 19, 2015 Wcześniej łączysz się z bazą i mysql_query zwraca identyfikator wyniku a nie false? SQL-kę puszczasz też ręcznie przez jakiegoś phpmyadmina żeby sprawdzić, że jest OK? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość l3szcz Zgłoś post Napisano Maj 19, 2015 Inaczej.. Korzystasz z DLE tak? Skorzystaj wiec z ich funkcji fetch Udostępnij ten post Link to postu Udostępnij na innych stronach
Viva 4 Zgłoś post Napisano Maj 19, 2015 Wcześniej łączysz się z bazą i mysql_query zwraca identyfikator wyniku a nie false? SQL-kę puszczasz też ręcznie przez jakiegoś phpmyadmina żeby sprawdzić, że jest OK? Jak puszczam przez SQL normalnie zwraca sumę. Dałem taki skrypt: <?php $link = mysql_connect('localhost','xxx','xxx'); if (!$link) { die('Nie polaczono : ' . mysql_error()); } echo 'Connected successfully'; mysql_query('SELECT * FROM dle_files'); ?> Z bazą łączy i wyświetla komunikat, ale danych nie pokazuje. Udostępnij ten post Link to postu Udostępnij na innych stronach
zidek 18 Zgłoś post Napisano Maj 20, 2015 Prawidłowo, ten ostatni skrypt nie powinien wyświetlać danych - mysql_query niczego nie wyświetli. Nawiązujesz połączenie, podajesz nazwę serwera, login i hasło. Potem pobierasz dane z tabeli. Brakuje tu informacji o bazie danych, z której próbujesz coś pobrać: $rs = mysql_query('SELECT * FROM nazwa_bazy.dle_files'); while($row = mysql_fetch_array($rs)) { var_dump($row); } Udostępnij ten post Link to postu Udostępnij na innych stronach
Viva 4 Zgłoś post Napisano Maj 20, 2015 Teoretycznie poszło Connected successfullyarray(2) { [0]=> string(3) "777" ["SUM(dcount)"]=> string(3) "777" } Udostępnij ten post Link to postu Udostępnij na innych stronach
zidek 18 Zgłoś post Napisano Maj 20, 2015 $result = $db->query("SELECT SUM(dcount) as ilosc FROM nazwa_bazy.dle_files") or die(mysql_error()); while($row = mysql_fetch_array($result)) { echo "Łącznie pobrań: {$row ['ilosc']}"; } Tutaj też powinno pójść Udostępnij ten post Link to postu Udostępnij na innych stronach
Viva 4 Zgłoś post Napisano Maj 20, 2015 (edytowany) $result = $db->query("SELECT SUM(dcount) as ilosc FROM nazwa_bazy.dle_files") or die(mysql_error()); while($row = mysql_fetch_array($result)) { echo "Łącznie pobrań: {$row ['ilosc']}"; } Tutaj też powinno pójść Też bym chciał Tak jak wcześniej, brak liczby. Zastanawiam się czy da się zrobić to za pomocą pętli while, np: $file_d = $row['dcount']; $files_dc += $file_d; Edytowano Maj 20, 2015 przez Viva (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
zidek 18 Zgłoś post Napisano Maj 20, 2015 var_dump($db); Udostępnij ten post Link to postu Udostępnij na innych stronach
Viva 4 Zgłoś post Napisano Maj 20, 2015 var_dump($db); To jest tylko zmienna CMS'a. Jak robię oddzielnie mysql_connect i daję mysql_query jest to samo. Udostępnij ten post Link to postu Udostępnij na innych stronach
zidek 18 Zgłoś post Napisano Maj 20, 2015 Więc tabela jest pusta. Udostępnij ten post Link to postu Udostępnij na innych stronach
Viva 4 Zgłoś post Napisano Maj 20, 2015 (edytowany) Więc tabela jest pusta. Skrypt: $rs = mysql_query('SELECT SUM(dcount)FROM nazwa_bazy.dle_files'); while($row = mysql_fetch_array($rs)) { var_dump($row); } Daje odpowiedź: array(2) { [0]=> string(3) "782" ["SUM(dcount)"]=> string(3) "782" } Edytowano Maj 20, 2015 przez Gość (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
zidek 18 Zgłoś post Napisano Maj 20, 2015 (edytowany) Aaaa używasz array..... więc [0] albo zamień array na assoc $result = $db->query("SELECT SUM(dcount) as ilosc FROM nazwa_bazy.dle_files") or die(mysql_error()); while($row = mysql_fetch_assoc($result)) { echo "Łącznie pobrań: {$row['ilosc']}"; } $result = $db->query("SELECT SUM(dcount) as ilosc FROM nazwa_bazy.dle_files") or die(mysql_error()); while($row = mysql_fetch_array($result)) { echo "Łącznie pobrań: {$row[0]}"; } Edytowano Maj 20, 2015 przez zidek (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Viva 4 Zgłoś post Napisano Maj 20, 2015 Dobra... w końcu się udało. Dzięki wszystkim za pomoc. Udostępnij ten post Link to postu Udostępnij na innych stronach