Если файла нет - не выводить. Обнаружилась проблема!

  • Автор темы Автор темы defence
  • Дата начала Дата начала
Tor
Ну... Стандартно... Вот кусок кода...
PHP:
$per_page = 10;	
if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0;

$start=abs($page*$per_page);

	$ql = mysql_query("select * from $t_links where cid=$sub order by width LIMIT $start,$per_page");
	$totall = @mysql_num_rows($ql);
 
ну как ... циклом конечно.
примерный алгоритм:
PHP:
$rest=10;
while ($rest && записи еще есть){
     запрос на следующие $rest записей можно с помощью LIMIT'а
     while (записи есть){
          if (запись валидна, то есть файл существует){
              добавляем ее в массив;
              $rest--;
          }
     }
}
а можно все одним циклом:
PHP:
$rest=10;
выборка всех записей начиная с текущей !
while (записи не кончились && $rest){
     if (запись валидна){
        добавляем в массив;
        $rest--;
     }
}
 
rotoZOOM
Спасибо тебе огромное!!! только если не сложно, приведи пример на моем коде... я просто очень путаюсь в таких выражениях...
while (записи не кончились && $rest){
 
выборка всех записей начиная с текущей !
- трудно отловить и пейджи посчитать,

если файлов не слишком много, можно считать их список и из базы брать только валидные записи
 
Автор оригинала: defence
Ну... Стандартно... Вот кусок кода...
если еще и на каждой странице показывать ссылки на все страницы, то выкинь этот код и пиши новый:

1) выбрали все начиная с id
2) проверили картинки
3) из оставшегося масива выводим 10 записей
4) гетом передаем id первго валидного элемента на будующей странице
 
defence ну код за тебя я писать не буду, тебе что не понятно, как проверить кончились ли записи в БД ?
Вот твой же пример:
PHP:
$totall = @mysql_num_rows($ql);
если $total==0 то записи кончились.
 
значит записей ещё больше ... всю базу пробегать - нехорошо,
пускай иногда кроном скрипт-валидатор и флажки расставляй в базе
 
defence
просто приведи свою базу в соответствие с файлами в директории. одним запросом. один раз. например просто в поле с картинкой проставь пустую строку, если такой картинки нет.
и доставай столько валидных записей за раз, сколько надо для одной страницы.
 
IntenT
Но понимаешь, у меня как раз наоборот... база обновляется из 1С автоматически... А картинки закачиваются в ручную...
 
Сверху