|
|
|
|
// Переменная хранит число записей выводимых на станице
$num = 5;
// Извлекаем из URL текущую страницу
$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result = mysql_query("SELECT COUNT(*) FROM penoteka_tovcat WHERE id_cat LIKE '$cat_name'");
$posts = mysql_result($result,0);
// Находим общее число страниц
$total = intval(($posts - 1) / $num) + 1;
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная к какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
$res = mysql_query("SELECT DISTINCT id_tov FROM penoteka_tovcat WHERE id_cat LIKE '$cat_name' LIMIT $start, $num");
echo $res;
|
выводит:
Почему переменная $res неправильно обрабатывается?
поле id_cat - текстовое, записи хранятся вида: Наборы и Упаковка
$cat_name - так же содержит в себе текст: Наборы и Упаковка | |
|
|
|
|
|
|
|
для: Dizels
(01.04.2010 в 03:50)
| | А как она должна обрабатываться?
id товара, категории, вообще-то это номер (де-факто стандартом стало), а не строка в виде "упаковка". | |
|
|
|
|
|
|
|
для: Dizels
(01.04.2010 в 03:50)
| | попробуйте GROUP BY вместо DISTINCT | |
|
|
|
|
|
|
|
для: chexov
(01.04.2010 в 10:42)
| | И для
$res = mysql_query....
echo $res;
это таки поможет? | |
|
|
|
|
|
|
|
для: sim5
(01.04.2010 в 10:50)
| |
<?
$res = mysql_query("SELECT `id_tov` FROM `penoteka_tovcat` WHERE `id_cat ` LIKE '".$cat_name."' GROUP BY `id_tov` LIMIT $start, $num");
while ($arr = mysql_fetch_assoc($res))
{
echo $arr['id_tov']."<br/>";
}
?>
|
вот так я думаю поможет:))))))) | |
|
|
|
|
|
|
|
для: chexov
(02.04.2010 в 02:08)
| | Думаю, что нет. | |
|
|
|
|
|
|
|
для: sim5
(02.04.2010 в 04:31)
| | у меня нет возможности проверить на деле, но хотелось бы услышать от вас, почему?
З.Ы. При условии что $cat_name это числа | |
|
|
|
|
|
|
|
для: chexov
(02.04.2010 в 04:56)
| | >поле id_cat - текстовое, записи хранятся вида: Наборы и Упаковка
>$cat_name - так же содержит в себе текст: Наборы и Упаковка
это пишет автор. Зачем "лайкать" на базу? | |
|
|
|
|
|
|
|
для: sim5
(02.04.2010 в 05:05)
| | ну даже если id_cat и $cat_name текстовые поля. то не вижу причины не работать при правильном выводе в цикле(3 поста выше)? потому как Resource id #12 - это всёго лишь ссылка на объект (массив значений выборки) | |
|
|
|
|
|
|
|
для: chexov
(02.04.2010 в 05:09)
| | Вот автор как раз и не понимает, что такое ресурс.
Ну а насчет постов выше, так надо организовать разумно представление данных в базе, дабы работать с ней без лишних телодвижений. Но это как раз автору, а вот советовать ему или нет то, что вы советуете, это уж как хотите. | |
|
|
|
|
|
|
|
для: sim5
(02.04.2010 в 05:28)
| | я полностью с вами согласен, пересмотр структур таблицы БД необходим, т.к действительно, присутствие в названии поля имени- id сразу представляется как число. | |
|
|
|