Cytat(mefistofeles @ 21.10.2010, 05:38:44 )

$sql = 'SELECT id,tytul FROM `ksiazki` WHERE match(tytul) against ("+'.$autor.'*" IN BOOLEAN MODE) GROUP BY tytul order by match(tytul) against("+'.$autor.'*") desc LIMIT ' . $page_query*$na_stronie . ', ' . $na_stronie;
Nie lepiej użyć DISTINCT skoro i tak nic nie zliczamy?
Drążąc temat dalej to jeżeli mamy fetchować i zliczać xx wyników (gdzie pewnie i tak każdy result zawiera w sobie pole o wartości 1 bo wątpię żeby tytuł książki się powtarzał), to mija się z celem używanie tego count... Już lepiej by było wykonać identyczne zapytanie do tego pierwszego tylko nie pobierać tytułu książki (bo nie potrzebny) i użyć mysql_num_rows();
W skrócie albo wymyślisz zapytanie które to zliczy wszystko razem (nie mam pomysłu jak to zliczyć tak żeby zwróciło w 1 ładnym wyniku) albo nie paćkać się i użyć zwykłego mysql_num_rows().
EDIT: z resztą takie zliczanie pętlą pewnie zwróciło by więcej niż to pierwsze zapytanie bo zliczyło by wszystkie rekordy nawet te powtarzające się.
Przykład:
Kod
ID : tytul
1: A
2: A
3: B
4: C
$q = 'SELECT id,tytul FROM ksiazki GROUP BY tytul';
$r = $q -> fetch_row();
// $r= array(array(1,A), array(3,B), array(4,C));
// $r -> num_rows = 3
$q = 'SELECT count(*) FROM ksiazki GROUP BY tytul';
$r = $q -> fetch_row();
// $r = array(array(2),array(1),array(1));
// gdybyśmy zsumowali to pętlą to wyszło by 4 a nie 3.
O ile mi się nic nie poje*** to się wszystko zgadza

ps. wybaczcie tą wyimaginowaną obsługę sterownika bazy danych