повторять sql или отображать «нет элементов»

#php #sql

#php #sql

Вопрос:

Необходимо отобразить следующее:

  1. Отображать все элементы определенной структуры

  2. Если в sql нет доступных наборов данных, отобразите «нет результата»

Код полностью функционален для первого пункта, но не поддерживает вторую функцию. Большое спасибо за помощь.

 //echo $sql;

$data = "";
$ii = 0;
$m = 0;
while($myrow = mysql_fetch_array($result)){
    $ii  ;
    $m  ;
    if ($m == 1) $data = $data."<div class="page current" id="gallery">";
    elseif ($ii == 1) $data = $data."<div class="page" id="gallery">";

    $data = $data."<a href="#" title="".$myrow['name']."" class="show_fabric" rel="".$myrow['id'].""><img src="".$image_directory.$myrow['thumbnail']."" width="100 px" height="100 px"><div class="fb_name">".$myrow['name']."</div></a>n";
    if ($ii == 10) {
        $data = $data."</div>";
        $ii = 0;
    }
}
    if ($ii != 10) {
        $data = $data."</div>";
    }

if (empty($data)) echo "No result";
else echo $data;
  

Комментарии:

1. если у вас нет результата и $ii не было увеличения, вы, кажется, всегда делаете это, $data = $data."</div>"; что делает empty($data) возврат false

Ответ №1:

 если ($result amp;amp; mysql_num_rows($result)>0)
 {
 $data = "";
 $ ii = 0;
 $ m = 0;
while($myrow = mysql_fetch_array($result)){
 $ii  ;
 $ m   ; 
 если ($m == 1) $data = $data."<div class="текущая страница" id= "галерея">";
 elseif ($ii == 1) $data = $data."<div class="страница" id="галерея">";

 $data = $data."<a href="#" title="".$myrow['name']."" class="show_fabric" rel="".$myrow['id'].""><img src="".$image_directory.$myrow['thumbnail']."" width= "100 пикселей" height = "100 пикселей " ><div class="fb_name">".$myrow['имя']."</div></a>n";
 если ($ ii == 10) {
 $data = $data."</div>";
 $ ii = 0;
 }
}
 если ($ ii != 10) {
 $data = $data."</div>";
 }

 }else 
 echo ('Нет результата');

Комментарии:

1. Прошу прощения за мое невежество, но я не разработчик. Как это конкретное изменение будет выглядеть в приведенном выше коде? Я не хочу что-то испортить. Спасибо!

2. Я был слишком быстрым 🙂 К сожалению, код работает, если структура недоступна, но не отображает структуры, когда они доступны.

Ответ №2:

 if($result)
{
   while()
  {
   -----
   --
   -
   }
}
else
echo "No Result";
  

Ответ №3:

Вы могли бы использовать следующий измененный код, но он по-прежнему создает новый <div [...] id="gallery"> каждые десять итераций. Обратите внимание, что идентификаторы HTML должны быть уникальными.

 if ( ( !$result ) || ( 0 == mysql_num_rows( $result ) ) ) {
    echo 'No result';
}
else {
    $data = "";
    $ii = 0;
    $m = 0;
    while ( $myrow = mysql_fetch_array( $result ) ) {
        $ii  ;
        $m  ;
        if ( $m == 1 ) {
            $data .= '<div class="page current" id="gallery">';
        }
        elseif ( $ii == 1 ) {
            $data .= '<div class="page" id="gallery">';
        }
        $data .= '<a href="#" title="' . $myrow['name'] . '" class="show_fabric" rel="' . $myrow['id'] . '"><img src="' . $image_directory . $myrow['thumbnail'] . '" width="100px" height="100px"><div class="fb_name">' . $myrow['name'] . "</div></a>n";
        if ( $ii == 10 ) {
            $data .= "</div>";
            $ii = 0;
        }
    }
    if ( $ii != 10 ) {
        $data .= "</div>";
    }
    echo $data;
}