mysql_affected_rows() @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 22 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
sergeyl
новый человек
0
Сообщения: 154
Зарегистрирован: 17.06.02
Откуда: г. Химки
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 9 Июль 2002, 19:59:00 
http://www.employment.ru/soiskatel2/view.php
речь пойдет про постраничный вывод.…..
суть:
1. после того как ты нажал "поиск" - найденныйх записей - 230
2. после того как ты сделал показать следующие 10, стало не 230, а 10

почему? как исправить?
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 9 Июль 2002, 20:51:00 
Прости, но я никак не улавливаю, что же тебя удивляет. То, что 10 равно 10?

И ты хочешь, чтобы 10 было равно 230? Увы, это не исправить.
sergeyl
новый человек
0
Сообщения: 154
Зарегистрирован: 17.06.02
Откуда: г. Химки
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 9 Июль 2002, 20:57:00 
как сделать, что бы постоянно показывалась статистика всей базы? просто от этого я буду отталкиваться, сколько чел еще не просмотрел записей...
Black_Angel
новый человек
0
Сообщения: 53
Зарегистрирован: 21.03.02
Откуда: Санкт-Петербург
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 9 Июль 2002, 22:09:00 
Не пойму проблемы... Если ты делал этот сайт, то почему бы не отнять от 230 десять... Если уж такие сложности, то хотя бы код надо посмотреть. Для этого не надо каждый раз обращаться к базе.
Black_Angel
новый человек
0
Сообщения: 53
Зарегистрирован: 21.03.02
Откуда: Санкт-Петербург
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 9 Июль 2002, 22:52:00 
Да, забыл сказать, если известно сколько надо выводить записей, то почему бы не воспользоваться этим значением...
sergeyl
новый человек
0
Сообщения: 154
Зарегистрирован: 17.06.02
Откуда: г. Химки
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 10 Июль 2002, 09:02:00 
я к примеру взял 230, завтра будет 300, после завтра -400, база пополняется. с помощью mysql_affected_rows(), после поиска, у меня выдается кол-во найденных записей, я хочу что бы это количество не изменялось при клике на следующую страницу.…
подобный пример ссылка
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 10 Июль 2002, 09:11:00 
Spy так определи его один раз и передавай дальше в скрытом поле или в командной строке. можно каждый раз считать количество всех записей, но это лишний запрос к базе
sergeyl
новый человек
0
Сообщения: 154
Зарегистрирован: 17.06.02
Откуда: г. Химки
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 10 Июль 2002, 09:14:00 
я пытался так сделать, но ничего не получается, к примеру

как добавить это в строку

$param = "razdel=$razdel&sity=$sity&sex=$sex&age=$age&money=$money&education=$education";

если остальной код

$sum = mysql_affected_rows();
………………………………..

echo "
<a href=\"$SCRIPT_NAME?$param&PAGE=$next&PAGES=$PAGES&ROWS_ON_PAGE=$ROWS_ON_PAGE\"> <b>следующие 10</b></A> (из $sum)";
}
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 10 Июль 2002, 09:28:00 
Spy все будет зависеть от того, что подставляется в mysql_affected_rows() [img]images/smiles/icon_wink.gif[/img]
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 10 Июль 2002, 09:41:00 
Spy, есть такая штука: count(*). Нес па?
sergeyl
новый человек
0
Сообщения: 154
Зарегистрирован: 17.06.02
Откуда: г. Химки
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 10 Июль 2002, 09:47:00 
[img]images/smiles/icon_eek.gif[/img]
Original Demon Муж.
постоянный участник
9
Сообщения: 2719
Зарегистрирован: 18.04.02
Откуда: Hell of a Place
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 10 Июль 2002, 09:48:00 
или вы бредите, или я чего-то не улавливаю. с помощью mysql_affected_rows нельзя посчитать количество записей в таблице. есть замечательная вещь SELECT COUNT(*) … или для сложного запроса просто count($records) или банальное mysql_num_rows …
sergeyl
новый человек
0
Сообщения: 154
Зарегистрирован: 17.06.02
Откуда: г. Химки
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 10 Июль 2002, 09:54:00 
Да будет свет! такс.… теперь как эту Х. прибть к
$sum = ………;
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 10 Июль 2002, 10:02:00 
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">quote:</font><HR>Автор Сообщения Spy:
<STRONG> [img]images/smiles/icon_eek.gif[/img]</STRONG><HR></BLOCKQUOTE>

<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">code:</font><HR><pre>
$request = "from foo, bar where …";
$sql1 = "select count(*) ".$request;
// выполняем $sql1
$sql2 = "select foo.a, foo.b, bar.c, bar.d ".$request." limit $lo,$hi";
// выполняем $sql2
</pre><HR></BLOCKQUOTE>
Black_Angel
новый человек
0
Сообщения: 53
Зарегистрирован: 21.03.02
Откуда: Санкт-Петербург
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 10 Июль 2002, 19:09:00 
Я хочу одну вещь сказать. Почему-то count со средней сложности запроса работает медленнее (на порядок даже), чем просто select *** from *** where *** и с высчитыванием с помощью mysql_num_rows... (и вообще мне не понятно почему используется mysql_affected_rows).
Вообще, уважаемый Spy, мне тебе совет -- купи книжку. А как прибить значение переменной:

$sql=mysql_query("select * from table where условие");
$sum=mysql_num_rows($sql);
echo "Всего записей $sum";
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 11 Июль 2002, 06:16:00 
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">quote:</font><HR>Автор Сообщения Black_Angel:
<STRONG>Я хочу одну вещь сказать. Почему-то count со средней сложности запроса работает медленнее (на порядок даже), чем просто select *** from *** where *** и с высчитыванием с помощью mysql_num_rows...</STRONG><HR></BLOCKQUOTE>

На примерчик можно взглянуть?

[ 11 Июля 2002: Исправлено Crazy ]
Black_Angel
новый человек
0
Сообщения: 53
Зарегистрирован: 21.03.02
Откуда: Санкт-Петербург
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 11 Июль 2002, 08:57:00 
[QUOTE]Автор Сообщения Crazy:
[QB]На примерчик можно взглянуть?

Ну под рукой нет, да я и точно уже не помню... ну там идёт выборка из 3-х таблиц, ищёт что-то в первой таблице, сравнивает со второй и с третей и берёт из третий если значения равны. Ну примерно так.
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 11 Июль 2002, 10:53:00 
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">quote:</font><HR>Автор Сообщения Black_Angel:
<STRONG>Ну под рукой нет</STRONG><HR></BLOCKQUOTE>

Я не спешу.
sergeyl
новый человек
0
Сообщения: 154
Зарегистрирован: 17.06.02
Откуда: г. Химки
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 11 Июль 2002, 12:25:00 
$sSQL = "SELECT count(*) As Total FROM messages";
$result = mysql_query($sSQL);
$row = mysql_fetch_object($result);
$sum = $row -> Total;

теперь осталось за меньшим, что бы при переходе на следующую страницу, вычиталось 10.…
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 11 Июль 2002, 12:43:00 
echo ($sum - $PAGES*$ROWS_ON_PAGE)
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 11 Июль 2002, 13:46:00 
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">quote:</font><HR>Автор Сообщения Spy:
<STRONG>теперь осталось за меньшим, что бы при переходе на следующую страницу, вычиталось 10.…</STRONG><HR></BLOCKQUOTE>

Из чего вычиталось?
Black_Angel
новый человек
0
Сообщения: 53
Зарегистрирован: 21.03.02
Откуда: Санкт-Петербург
Заголовок сообщения: mysql_affected_rows()
Сообщение Добавлено: 11 Июль 2002, 20:21:00 
Spy Да передавай переменной в ссылке сколько ты просмотрел, вот и всё. Да, ты всё таки сделай как я сказал, ты же всё равно запрос делаешь к базе, количество у тебя есть. Зачем делать выборку, а ещё потом узнавать количество строк, делая опять аналогичный запрос... Тем более, что возможно первый запрос будет отличаться от второго. Count полезен, если просто узнать количество, например в каталоге раздел, и там показывается количество в разделе.

Crazy Сорри, но походу ничего тебе не дам, т.к. не нашёл. Да и в принципе ты можешь сам написать и проверить... А запрос к базе был сложный, да и ещё в цикле несколько раз. Разница очень чуствовалась... Почему так? Ни в мануале, ни в книге не нашёл, может плохо искал...
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 22 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100