Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]fetch_assoc nie czyta sum(); :/
Forum PHP.pl > Forum > PHP
colinQ
Stworzyłem (jeszcze nie do końca) statystyki.

Mam w nich taką tabelkę:
  1. CREATE TABLE `statystyki` (
  2. `ip` text NOT NULL ,
  3. `data` int( 11 ) NOT NULL DEFAULT '0',
  4. `all` text NOT NULL
  5. ) TYPE = MYISAM ;


Chcę aby to:

$query=mysql_query("select sum(all) as suma from statystyki");
$row=mysql_fetch_assoc($query);

dodawało zliczyło wszystkie wartości w all

bo mam np

22.333.33.2 | 12102007 | 2
22.311.33.2 | 11102007 | 5
22.323.33.2 | 10102007 | 4

a funkcja sum(all) ma dodać wartość
2 do wartości 5 itd.

I gdy chce uzyć mysql_fetch_assoc do tego

i wczytac to jako $row['suma'] to wywala error :/

blad: arning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in stats.php on line 29

Jeśli fetch_assoc nie czyta sum() to jak wczytac wartość 'suma' questionmark.gif

  1. <?php
  2. include("mysql.php");
  3. ?>
  4.  
  5. <?
  6.  
  7. $ip = $_SERVER['REMOTE_ADDR'];
  8. $data = date("dmY");
  9. $wyszukaj_z_ip = mysql_query("select * from statystyki where ip='$ip' AND data='$data'"); 
  10. $fetch_z_ip = mysql_fetch_assoc($wyszukaj_z_ip);
  11. $ile_z_ip = mysql_num_rows($wyszukaj_z_ip);
  12.  
  13.  
  14. if($ile_z_ip > 0) {
  15. $twoje_unikalne = $fetch_z_ip['all'];
  16. $uniksy_do_zapisu = $twoje_unikalne + 1;
  17. mysql_query("UPDATE `statystyki` SET `all` = '$uniksy_do_zapisu' WHERE `ip` = '$ip' AND `data` = '$data' AND `all` = '$twoje_unikalne' LIMIT 1 ;");
  18. }
  19. else {
  20. mysql_query("insert into statystyki values('$ip', '$data', '1')");
  21. }
  22.  
  23. $all = mysql_num_rows(mysql_query("select * from statystyki"));
  24. $dzis = mysql_num_rows(mysql_query("select * from statystyki where data='$data'"));
  25.  
  26.  
  27.  
  28. $query=mysql_query("select sum(all) as suma from statystyki");
  29. $row=mysql_fetch_assoc($query);
  30. echo $row['suma'];
  31.  
  32.  
  33.  
  34. echo 'twoje => '.$ile_z_ip.'<br>';
  35. echo 'unikalne => '.$all.'<br>';
  36. echo 'dzis => '.$dzis.'<br>';
  37. echo 'odslon => '.$wszystkie.'<br>';
  38.  
  39.  
  40. ?>
legorek
Zmień all na typ numeryczny.
colinQ
zmieniłem all na (int) i nic sie nie zmieniło :/
legorek
Masz błąd w zapytaniu. Zrób mysql_error, bęziesz wiedział jaki.
colinQ
Wyświetla tylko takie coś :/

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in stats.php
pbnan
Albo zapytanie jest błędne, albo nic nie zwraca, nic nie wyszukuje.
A, i postaraj się korzystać z apostrofów zwykłych i tych odwróconych we wszystkich zapytaniach - sam miałem dużo problemów przez ich brak. :|
nospor
Ktos ci pisze:
Cytat
Zrób mysql_error, bęziesz wiedział jaki.
a ty chyba tego nie zrobiles bo walisz:
Cytat
Wyświetla tylko takie coś :/

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in stats.php
Jakbys dal to oco cie proszono to bys dostal blad mysql.
  1. <?php
  2. ....mysql_query(...) or die(mysql_error());
  3. ?>


Wracajac do problemu:
all jest słowem zastrzeżonym. Nie mozesz go wiec normalnie uzywac w zapytaniu. Musisz pisac tak:
  1. SELECT sum(`all`) AS suma FROM statystyki
colinQ
No wstawiełm 'all' ale pojawił sie nowy blad :/

Tak jakby tego nie zlicza bo wywala 0 :/
nospor
nie 'all' a `all`. KOPIOWAC tez trzeba umiec tongue.gif
colinQ
dzięki smile.gif

Wszystko śmiga jak się patrzy winksmiley.jpg
nospor
Podpiąłeś się pod temat, w którym masz napisane co masz zrobic. A ty... nic. Czemu nie przeczytales co tu napisane, czemu nie zrobiles mysql_error() o którym tu bylo napisane?
Vanderfell
Czasami takie odgórne potraktowanie się przydaje winksmiley.jpg

Cytat
Table 'db11xxxxx.Models' doesn't exist


W bazie danych tabela miała nazwę models, w skrypcie wpisane miałem Models, ConTEXTem zamieniłem wszystkie Models na models wgrałem pliczek i działa.

Dziękuję, dobrej nocy życzę winksmiley.jpg
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.