|
|
|
| Когда в базе данных, нет записей выводит ошибку так-как $result равен 0 как сделать корректно чтобы код не парился пробовал else всё равно не работает
if (mysql_num_rows($result) > 0)
{ | |
|
|
|
|
|
|
|
для: zorg84
(27.07.2011 в 21:56)
| | покажите весь код и дамп базы данных | |
|
|
|
|
|
|
|
для: psychomc
(27.07.2011 в 22:56)
| |
<?php
$result = mysql_query("SELECT id,title,date,author,view FROM data WHERE cat='$cat' ORDER BY id DESC, id DESC LIMIT $start, $num",$db);
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
printf ("<table class='post' align='center' width='836' cellspacing='0' cellpadding='8'>
<tr>
<td class='post_title' width='480' style='border-right: 1px solid #565A71; border-bottom: 1px solid #565A71'>
<p class='post_name' align='center'><a class='zz' href='post.php?id=%s'>%s</a></p>
</td>
<td width='320' style='border-bottom: 1px solid #565A71'>
<p class='post_adds'>%s</p>
<p class='post_adds'>%s</p></td>
</tr></table>" ,$myrow["id"],$myrow["title"],$myrow["author"],$myrow["date"], $myrow["view"]);
}
while ($myrow = mysql_fetch_array($result));
}
?>
|
| |
|
|
|
|
|
|
|
для: zorg84
(27.07.2011 в 23:11)
| |
Структура таблицы `data`
--
CREATE TABLE `data` (
`id` int(5) NOT NULL auto_increment,
`cat` int(1) NOT NULL,
`meta_d` varchar(255) character set cp1251 NOT NULL,
`meta_k` varchar(255) character set cp1251 NOT NULL,
`description` text character set cp1251 NOT NULL,
`text` text character set cp1251 NOT NULL,
`view` int(7) NOT NULL,
`author` varchar(100) character set cp1251 NOT NULL,
`date` date NOT NULL,
`mini_img` varchar(255) character set cp1251 NOT NULL,
`title` varchar(255) character set cp1251 NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `text` (`text`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1250 AUTO_INCREMENT=155 ;
--
-- Дамп данных таблицы `data`
|
| |
|
|
|
|
|
|
|
для: zorg84
(27.07.2011 в 23:11)
| | возьмите за правило нормально писать код и проверки
1) весь SQL запрос оформляейте в переменную, чтобы на этапе отладки кода легко можно было бы вывести его в браузер вот так:
$query="SELECT id,title,date,author,view FROM data WHERE cat='$cat' ORDER BY id DESC, id DESC LIMIT $start, $num"
|
как только нужно проконтролировать правильность запроса допысываете echo
echo $query="SELECT id,title,date,author,view FROM data WHERE cat='$cat' ORDER BY id DESC, id DESC LIMIT $start, $num"
|
2) контролируйте выполнение запроса
либо так:
$res=mysql_query($query) or die ("Error : ".mysql_error());
|
либо так:
$res=mysql_query($query);
if(!$res) echo "Error";
|
3) избавтесь от видеокурса ЕПопова и купите нормальную книгу :)
__
а запрос у вас попросту не выполняется, например поле $cat у вас числовое, а вы к нему обращаетесь строкой | |
|
|
|
|
|
|
|
для: Valick
(27.07.2011 в 23:26)
| | Понял выброшу :))) | |
|
|
|
|
|
|
|
для: zorg84
(27.07.2011 в 23:31)
| | Так что мне исправить чтобы заработало | |
|
|
|
|
|
|
|
для: zorg84
(27.07.2011 в 23:36)
| | '$cat' <- убрать одинарные кавычки | |
|
|
|
|
|
|
|
для: zorg84
(27.07.2011 в 23:31)
| | 4) используйте для обработки результата запроса оператор while вместо do {} while | |
|
|
|
|
|
|
|
для: Valick
(27.07.2011 в 23:37)
| | если не трудно пример выложи | |
|
|
|
|
|
|
|
для: zorg84
(27.07.2011 в 23:40)
| |
<?php
$query="SELECT id,title,date,author,view
FROM data
WHERE cat=$cat
ORDER BY id DESC, id DESC LIMIT $start, $num";
$result = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($result) > 0) {
while ($myrow = mysql_fetch_array($result)){
printf ("<table class='post' align='center' width='836' cellspacing='0' cellpadding='8'>
<tr>
<td class='post_title' width='480' style='border-right: 1px solid #565A71; border-bottom: 1px solid #565A71'>
<p class='post_name' align='center'><a class='zz' href='post.php?id=%s'>%s</a></p>
</td>
<td width='320' style='border-bottom: 1px solid #565A71'>
<p class='post_adds'>%s</p>
<p class='post_adds'>%s</p></td>
</tr></table>" ,$myrow["id"],$myrow["title"],$myrow["author"],$myrow["date"], $myrow["view"]);
}
}
?>
|
___
кстати почему так? ORDER BY id DESC, id DESC
скорее всего просто ORDER BY id DESC LIMIT $start, $num" | |
|
|
|
|
|
|
|
для: Valick
(27.07.2011 в 23:45)
| | проста постраничная навигация подключена | |
|
|
|
|
|
|
|
для: zorg84
(27.07.2011 в 23:55)
| | и что? причем тут навигация и дважды отсортированное по одному и тому же полю? | |
|
|
|
|
|
|
|
для: Valick
(27.07.2011 в 23:58)
| | Я уже пределал
Браза спасибо работает | |
|
|
|