[MySQL] Dziwne zapytanie

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
MaKaO
Nowy
Nowy
Posty: 37
Rejestracja: śr lis 06, 2002 1:42 am
Lokalizacja: Głogów Miasto Bogów
Kontakt:

[MySQL] Dziwne zapytanie

Post autor: MaKaO »

Mam pytanie... Do czego służy to zapytanie

Kod: Zaznacz cały

mysql_query("SELECT COUNT(*) FROM ".$dbTable WHERE id='$id'");
Konkretnie nie rozumiem tutaj tego COUNT(*), a kiedyś czytałem o funkcji count w MySQLu i chciałbym się dowiedzieć czy to jest to samo... :wink:
Seth
Przelotem
Przelotem
Posty: 225
Rejestracja: ndz lis 03, 2002 6:01 pm
Kontakt:

Re: [MySQL] Dziwne zapytanie

Post autor: Seth »

MaKaO pisze:mysql_query("SELECT COUNT(*) FROM ".$dbTable WHERE id='$id'");
MaKaO pisze:kiedyś czytałem o funkcji count w MySQLu i chciałbym się dowiedzieć czy to jest to samo... :wink:
Skoro uzywasz funkcji mysql do przekazania zapytania, a juz czytales o tym w manualu do MySQLa to musi to znaczyc, ze jest to to samo :)
MaKaO
Nowy
Nowy
Posty: 37
Rejestracja: śr lis 06, 2002 1:42 am
Lokalizacja: Głogów Miasto Bogów
Kontakt:

Re: [MySQL] Dziwne zapytanie

Post autor: MaKaO »

No ok, ale nie ma tam opisanego tego, jak ona działa, bo ja chyba miałem jakiegoś okrojonego tego manuala do MySQLa, wogóle z MySQL'em jest jakoś dziwnie z tymi instrukcjami... Możecie mi w kilku słowach wyjaśnić do czego to służy i jak to stosować?
Seth
Przelotem
Przelotem
Posty: 225
Rejestracja: ndz lis 03, 2002 6:01 pm
Kontakt:

Re: [MySQL] Dziwne zapytanie

Post autor: Seth »

W podanym przez Ciebie kodzie chodzi o zliczenie ilosci rekordow zwroconych przez zapytanie bez pobierania ich wartosci. W tym przypadku to tak jak: mysql_num_rows.

Wiecej o COUNT tutaj: http://www.mysql.com/doc/en/Counting_rows.html
MaKaO
Nowy
Nowy
Posty: 37
Rejestracja: śr lis 06, 2002 1:42 am
Lokalizacja: Głogów Miasto Bogów
Kontakt:

Re: [MySQL] Dziwne zapytanie

Post autor: MaKaO »

Aha czyli on zlicza rekordy... Nie czytałem tego w maualu, bo chce wiedzieć czy Ciebie zrozumiałem i podam teraz kod, który potwierdzisz, bądź jak będziesz taki dobry :wink: poprawisz...

Kod: Zaznacz cały

<?
// [...]
$query = "SELECT COUNT(pliki) FROM ".$dbTableCategory WHERE id='$id'";
$result = mysql_query($query);
while ($record = mysql_fetch_array ($result)) {
	for ($i=0; $i<count($record); $i++) { $r[$i] = stripslashes($record[$i]); }
	echo "Plików w kategori ".$id." jest: ".$r[0]."<br>";
}
// [...]
?>
Czy to zadziała i da oczekiwany efekt?
Michał Fikus
Przelotem
Przelotem
Posty: 242
Rejestracja: sob cze 08, 2002 6:39 pm
Lokalizacja: Wejherowo

Re: [MySQL] Dziwne zapytanie

Post autor: Michał Fikus »

MaKaO: to by sprawdzić czy zrozumiałeś dobrze wyjaśnienie, powinieneś przeczytać i ew. sprawdzić swój kod jaki da wynik (plus jaki byś z tego odniósł to chociaż zaoszczędzony czas).

Oto zdanie prosto z manuala: "The COUNT() function counts the number of non-NULL results" - po polsku oznacza ze Funkcja COUNT() zlicza ilość wyników nie pustych z tabeli. Tak jak z php count() operujące na tablicach.
MaKaO
Nowy
Nowy
Posty: 37
Rejestracja: śr lis 06, 2002 1:42 am
Lokalizacja: Głogów Miasto Bogów
Kontakt:

Re: [MySQL] Dziwne zapytanie

Post autor: MaKaO »

Dzięki wszystkim :wink:
ODPOWIEDZ