Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z select count i/lub mysql_result
Forum PHP.pl > Forum > Przedszkole
trk
Witam,

Utworzylem baze danych z tabela pilka i tabela gdzie jest wiecej dyscyplin sportowych miedzy innymi pilka.

Chcialbym zliczyc ilosc rekordow z danej dyscypliny i teraz:

- jesli zrobie osobna tabele gdzie jest tylko np pilka nozna to zlicza mi ilosc rekordow i wyswietla na stronie przy linku pilka

- jesli robie tabelke w ktorej sa rozne dyscy pliny sportowe i dodaje do zapytania
  1. $query2 = "SELECT count(id) WHERE dyscyplina='tenis' FROM typy";
to wyskakuje blad :

  1. Warning: mysql_result(): supplied argument is not a valid MySQL result resource in



kod:
  1. mysql_connect($localhost, $user, $password);
  2. @mysql_select_db($database) or die("Nie udało się wybrać bazy danych");
  3.  
  4. $query1 = "SELECT count(id) FROM pilka";
  5. $query2 = "SELECT count(id) WHERE dyscyplina='tenis' FROM typy";
  6. $query3 = "SELECT count(id) WHERE dyscyplina='nba' FROM typy";
  7. $query4 = "SELECT count(id) WHERE dyscyplina='nhl' FROM typy";
  8. $query5 = "SELECT count(id) WHERE dyscyplina='siatkowka' FROM typy";
  9.  
  10. mysql_query('$query1');
  11. mysql_query('$query2');
  12. mysql_query('$query3');
  13. mysql_query('$query4');
  14. mysql_query('$query5');
  15.  
  16. $ile1 = mysql_query($query1);
  17. $ile2 = mysql_query($query2);
  18. $ile3 = mysql_query($query3);
  19. $ile4 = mysql_query($query4);
  20. $ile5 = mysql_query($query5);
  21.  
  22. $i_p = mysql_result( $ile1, 0) ;
  23. $i_t = mysql_result( $ile2, 0) ;
  24. $i_nba = mysql_result( $ile3, 0) ;
  25. $i_nhl = mysql_result( $ile4, 0) ;
  26. $i_s = mysql_result( $ile5, 0) ;
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. echo"<a href=''>- Piłka nożna <b>(<font color ='ff0000'>$i_p</font>)</b></a> <br/>";
  34. echo"<a href=''>- Tenis <b>(<font color ='ff0000'>$i_t</font>)</b></a> <br/>";
  35. echo"<a href=''>- NBA <b>(<font color ='ff0000'>$i_nba</font>)</b></a> <br/>";
  36. echo"<a href=''>- NHL <b>(<font color ='ff0000'>$i_nhl</font>)</b></a> <br/>";
  37. echo"<a href=''>- Siatkówka <b>(<font color ='ff0000'>$i_s</font>)</b></a> <br/>";

zordon
jaka jest struktura tabeli? czy jesli wkleisz zapytania "recznie" do bazy (np przez phpmyadmina) to wywala jakieś błędy?
wookieb
A zrób sobie takie zapytanie
  1. SELECT count(id) AS ile, dyscyplina FROM type GROUP BY dyscyplina ORDER BY dyscyplina

I zobacz jakie otrzymasz wyniki.
nospor
po pierwsze: juz ci mowilem bys uzywal mysql_error()
po drugie: zjadles 'FROM nazwatabeli'- smacznego

po trzecie:
mysql_query('$query1'); - źle
ma byc: mysql_query($query1);
a konkretnie: mysql_query($query1) or die(mysql_error());
trk
Cytat(nospor @ 12.02.2010, 11:08:30 ) *
po pierwsze: juz ci mowilem bys uzywal mysql_error()
po drugie: zjadles 'FROM nazwatabeli'- smacznego
po trzecie:
mysql_query('$query1'); - źle
ma byc: mysql_query($query1);
a konkretnie: mysql_query($query1) or die(mysql_error());


1.($query) - poprawilem i dodalem error ale to nic kompetnie nie zmienilo
2. nie mam pojecia gdzie zjadlem FROM nazwatabelki

3.
zapytanie:
  1. SELECT count(id) WHERE dyscyplina='pilka' FROM typy

pokazuje blad:

  1. #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
  2. for the right syntax to use near 'WHERE dyscyplina='pilka' FROM typy' at line 1



4.
zapytanie :
  1. SELECT count(id) AS ile, dyscyplina FROM typy GROUP BY dyscyplina ORDER BY dyscyplina


działa exclamation.gif ale.........

mam w tej chwili 4 rekordyw tabeli typy 2 z dyscyplina pilka i 2 z dyscyplina nba. a mi przy kazdym linku pilka,tenis,nba,nhl,siatkowka pokazuje cyfre 2 :?
nospor
twoje zapytanie wygladalo tak:
SELECT count(id) WHERE dyscyplina='tenis' FROM typy

a ma wygladac tak
SELECT count(id) FROM TABELA WHERE dyscyplina='tenis' FROM typy

Juz wiesz gdzie masz miec FROM TABELA ?

Cytat
1.($query) - poprawilem i dodalem error ale to nic kompetnie nie zmienilo
powinno zmienic to, ze pojawi sie komunikat bledu. jak sie nie pojawil to źle to wstawiles

Cytat
mam w tej chwili 3 rekordyw tabeli typy 1 z dyscyplina pilka i 2 z dyscyplina nba. a mi przy kazdym linku pilka,tenis,nba,nhl,siatkowka pokazuje cyfre 1 :

Przeczytaj w manualu jak nalezy uzyc funkcji ktorej uzyles i co ona zwraca:
http://pl2.php.net/mysql_result
trk
SELECT count(id) FROM TABELA WHERE dyscyplina='tenis' FROM typy


ale dlaczego 2 razy mam miec FROM typy questionmark.gif

tabela u mnie nazywa sie typy to amm zorbic:

SELECT count(id) FROM typy WHERE dyscyplina='tenis' FROM typy ?

jak to robie to ejst blad:


Warning: mysql_result(): supplied argument is not a valid MySQL result resource in
/home/a/n/d/ander/www/index.php on line 80

linia 80:
$i_nba = mysql_result( $ile3, 0) ;


mam w tej chwili w tabeli 3 typy z nba i 2 typy z pilka i chcialbym zbey przy menu mi sie tylko liczba wyswietlala ile typow jest z danej dyscypliny bardzo prposze niech mi ktos takie zpaytanie pomoze zorbic a jesli łaska to napisze gotowe


struktura tabeli:

baza:ander
tabela:typy
id(auto),dyscyplina,data,typ,analiza,buk
PawelBah
  1. SELECT count(typy) FROM typy WHERE typ='pilka'
nospor
Cytat
SELECT count(id) FROM TABELA WHERE dyscyplina='tenis' FROM typy


ale dlaczego 2 razy mam miec FROM typy

tabela u mnie nazywa sie typy to amm zorbic:

SELECT count(id) FROM typy WHERE dyscyplina='tenis' FROM typy ?

jak to robie to ejst blad:
Nie doczytalem ze ty masz FROM TYPY na koncu..... FROM ma byc przed WHERE. Zajrzyj do manuala mysql jak wyglada prawidlowa skladnia a nie wymyslasz swoją na nowo
trk
Cytat(nospor @ 12.02.2010, 14:57:54 ) *
Nie doczytalem ze ty masz FROM TYPY na koncu..... FROM ma byc przed WHERE. Zajrzyj do manuala mysql jak wyglada prawidlowa skladnia a nie wymyslasz swoją na nowo



fakt obrzydliwa wtopa z mojej strony tongue.gif od kilku dni siedze od rana do wieczora po 10 godzin przy tym php i mysql i musze chyba odpoczac troche dziekuje za pomoc !
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.