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

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);
 

rotoZOOM

ACM maniac
ну как ... циклом конечно.
примерный алгоритм:
PHP:
$rest=10;
while ($rest && записи еще есть){
     запрос на следующие $rest записей можно с помощью LIMIT'а
     while (записи есть){
          if (запись валидна, то есть файл существует){
              добавляем ее в массив;
              $rest--;
          }
     }
}
а можно все одним циклом:
PHP:
$rest=10;
выборка всех записей начиная с текущей !
while (записи не кончились && $rest){
     if (запись валидна){
        добавляем в массив;
        $rest--;
     }
}
 

defence

Деклассированный элемент
rotoZOOM
Спасибо тебе огромное!!! только если не сложно, приведи пример на моем коде... я просто очень путаюсь в таких выражениях...
while (записи не кончились && $rest){
 

vitus

мимо проходил
выборка всех записей начиная с текущей !
- трудно отловить и пейджи посчитать,

если файлов не слишком много, можно считать их список и из базы брать только валидные записи
 

Tor

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

1) выбрали все начиная с id
2) проверили картинки
3) из оставшегося масива выводим 10 записей
4) гетом передаем id первго валидного элемента на будующей странице
 

rotoZOOM

ACM maniac
defence ну код за тебя я писать не буду, тебе что не понятно, как проверить кончились ли записи в БД ?
Вот твой же пример:
PHP:
$totall = @mysql_num_rows($ql);
если $total==0 то записи кончились.
 

vitus

мимо проходил
значит записей ещё больше ... всю базу пробегать - нехорошо,
пускай иногда кроном скрипт-валидатор и флажки расставляй в базе
 

IntenT

SkyDiver
defence
просто приведи свою базу в соответствие с файлами в директории. одним запросом. один раз. например просто в поле с картинкой проставь пустую строку, если такой картинки нет.
и доставай столько валидных записей за раз, сколько надо для одной страницы.
 

defence

Деклассированный элемент
IntenT
Но понимаешь, у меня как раз наоборот... база обновляется из 1С автоматически... А картинки закачиваются в ручную...
 
Сверху