@dima12s

Почему дублируются запросы SQL?

$result= $db->query("SELECT id,xfields,title,alt_name FROM `post` WHERE `title` = '".$db->safesql($value['name'])."'");
if ($db->num_rows($result)) {
while ($row_actor = $db->get_row($result)) {
$id_actor = $row_actor['id'];
$xf_actor = $row_actor['xfields'];
$alt_name_actor = $row_actor['alt_name'];
}
}

Выводится поля "Название" - $row_actor['xfields']; и "Картинка". $row_actor['alt_name'];

Если новость есть, то выводится как нужно id - Название+картинка, а если новости нету, дублируется Название+картинка с предыдущей новости

Движок на Dle использую. Как сделать, чтобы название+картинка выводились, только когда запись в базе присутствует?
  • Вопрос задан
  • 274 просмотра
Пригласить эксперта
Ответы на вопрос 1
@ichubinets
Не юзал DLE, но здесь, вроде, ничего сложно нет, просто поставить условие, если записей больше 0
if ($db->num_rows($result) > 0) 
{
    while ($row_actor = $db->get_row($result)) 
    {
        $id_actor = $row_actor['id'];
        $xf_actor = $row_actor['xfields'];
        $alt_name_actor = $row_actor['alt_name'];
    }
}

В лучшем варианте будет
if ($rows = $db->get_row($result)) 
{
    foreach($rows as $row_actor) 
    {
        $id_actor = $row_actor['id'];
        $xf_actor = $row_actor['xfields'];
        $alt_name_actor = $row_actor['alt_name'];
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы