Гуру msql взываю к вашей помощи) есть такой запрос Код (Text): SELECT anketa.*, foto_user. activ, users.avatar, bd_day, bd_month, bd_year, visiting_m, visiting_d, visiting_y, visiting_time, nik, city, online, (YEAR(CURDATE()) - YEAR(DATE(CONCAT(`bd_year`, '-', `bd_month`, '-', `bd_day`))) - IF(RIGHT(CURDATE(), 5) < RIGHT(DATE(CONCAT(`bd_year`, '-', `bd_month`, '-', `bd_day`)), 5), 1, 0)) AS `age` FROM anketa, foto_user, users WHERE users.del_ank = '0' and users.id = anketa.id_user and ($lf_S) $city_S $albom_foto $online_user GROUP BY anketa.id HAVING `age` >= $af AND `age` <= $at ORDER BY id DESC LIMIT $start, $num; отдельным, я так понимаю запрососм нужно посчитать количество строк, которые вытаскивает этот запрос. я так понял что через count нельзя, потому что из-за "GROUP BY" он вернёт кол-во строк в группах... наверное нужно через mysql_num_rows??? вообщем я запутался( я очень плохо в таких сложных запросах разбираюсь, помогите Добавлено спустя 1 минуту 12 секунд: плохо что на этом форуме код не подствечиватся)))
Мне бы все угодило АБЫ работало)))) Т.е. ТОТ ЖЕ запрос, только не через mysql_fetch_array, а чсерез mysql_num_rows???
$temp = mysql_num_rows(mysql_query("SELECT anketa.*, foto_user.activ, users.avatar, bd_day, bd_month, bd_year, visiting_m, visiting_d, visiting_y, visiting_time, nik, city, online, gender, (YEAR(CURDATE()) - YEAR(DATE(CONCAT(`bd_year`, '-', `bd_month`, '-', `bd_day`))) - IF(RIGHT(CURDATE(), 5) < RIGHT(DATE(CONCAT(`bd_year`, '-', `bd_month`, '-', `bd_day`)), 5), 1, 0)) AS `age` FROM anketa, foto_user, users WHERE users.del_ank = '0' and users.id = anketa.id_user and ($lf_S) $city_S $albom_foto $online_user GROUP BY anketa.id HAVING `age` >= $af AND `age` <= $at")); - Dmitriy A. Arteshuk, все работает, все считает, но это получается не то что мне нужно... короче, морочу всем голову, сам не могу понять что мне нужно... это запрос из кода для постраничной навигации... вот рабочий пример из другой моей страницы Код (Text): $num=50; @$page=$_GET['page']; $result00=mysql_query("SELECT COUNT(*) FROM anketa INNER JOIN users ON anketa.id_user=users.id WHERE users.id = anketa.id_user and del_ank = '0'",$db); $temp=mysql_fetch_array($result00); $posts=$temp[0]; $total=(($posts-1)/$num)+1; $total=intval($total); $page=intval($page); if(empty($page) or $page<0) $page=1; if($page>$total) $page=$total; $start=$page*$num-$num; if ($start<0){$start=0;} может мне mysql_num_rows вообще в этом случае не подходит))) просто этот запрос для меня очень сложный и я не знаю как его всунуть в $result00 через COUNT(*)?...(
видимо нужно общее количество записей для определения количества страниц для навигации. для этого можно добавить SQL_CALC_FOUND_ROWS в запрос : Код (Text): SELECT SQL_CALC_FOUND_ROWS anketa.*, foto_user. activ, users.avatar, bd_day, bd_month, bd_year, visiting_m, visiting_d, visiting_y, visiting_time, nik, city, online, (YEAR(CURDATE()) - YEAR(DATE(CONCAT(`bd_year`, '-', `bd_month`, '-', `bd_day`))) - IF(RIGHT(CURDATE(), 5) < RIGHT(DATE(CONCAT(`bd_year`, '-', `bd_month`, '-', `bd_day`)), 5), 1, 0)) AS `age` FROM anketa, foto_user, users WHERE users.del_ank = '0' and users.id = anketa.id_user and ($lf_S) $city_S $albom_foto $online_user GROUP BY anketa.id HAVING `age` >= $af AND `age` <= $at ORDER BY id DESC LIMIT $start, $num; а затем выполнить запрос для получения общего количества записей удовлетворяющих условию: Код (Text): select FOUND_ROWS()