Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос по выводу изображений из папки и заголовков из БД

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
СерП
Отправлено: 18 Июля, 2011 - 10:05:25
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Май 2010  
Откуда: Россия, г.Ижевск


Помог: 0 раз(а)




Здравствуйте.
У меня вопрос:
У меня есть в БД названия изображений и они выводятся циклом, и есть в папке изображения, которые выводятся тоже циклом )
Но проблема в том, что под одним названием выводятся все изображения из папки, а нужно, чтобы под одним названием выводилась соответствующая картинка.
Как это сделать? )

Выводится вот так:
 
 Top
LIME
Отправлено: 18 Июля, 2011 - 10:09:43
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




СерП код нужен
 
 Top
СерП
Отправлено: 18 Июля, 2011 - 10:18:30
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Май 2010  
Откуда: Россия, г.Ижевск


Помог: 0 раз(а)




код для вывода изображений:
PHP:
скопировать код в буфер обмена
  1.     public function output()
  2.     {
  3.         $opendir = opendir('C:/www/zftest.web/htdocs/gallery/public/thumb');
  4.         while (false !== ($read = readdir($opendir))) {
  5.             if ($read != '.' && $read != '..') {
  6.                 echo "<img src= \"/thumb/$read \" />";
  7.             }
  8.         }
  9.         closedir($opendir);
  10.     }


Заголовки из БД выводятся с помощью метода PartialLoop(это Zend Framework):
PHP:
скопировать код в буфер обмена
  1. <?PHP echo $this->escape($this->title);?>
 
 Top
LIME
Отправлено: 18 Июля, 2011 - 10:23:51
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




покажите где вы применяете output() вместе с выводом названий
 
 Top
СерП
Отправлено: 18 Июля, 2011 - 10:28:30
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Май 2010  
Откуда: Россия, г.Ижевск


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. <div id="title">
  2.     <?PHP echo $this->escape($this->title);?>
  3. </div>
  4.     <?PHP
  5.     $imagick = new Application_Model_Imagick_Imagick();
  6.     $imagick->output();
  7.     ?>
  8.  

Весь этот код вызывается с помощью метода цикла PartialLoop(это практически то же самое, что и foreach).
PHP:
скопировать код в буфер обмена
  1. <div id="img">
  2.    
  3.     <?PHP
  4.         echo $this->partialLoop('partials/image.phtml', $this->gallery);
  5.     ?>
  6. </div>

Кстати, если выводить картинки вне этого цикла, то выводит все нормально, не дублируя их, но вот с заголовками проблема, ибо они вообще не выводятся вне этого цикла )
 
 Top
OrmaJever Модератор
Отправлено: 18 Июля, 2011 - 11:18:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




если я правельно понимаю то в этой строчке выводится имя картинки?
СерП пишет:
<?PHP echo $this->escape($this->title);?>

А потому уже за этим идет метод с цыклом?
PHP:
скопировать код в буфер обмена
  1.     <?PHP
  2.     $imagick = new Application_Model_Imagick_Imagick();
  3.     $imagick->output();
  4.     ?>

или не так?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
СерП
Отправлено: 18 Июля, 2011 - 11:25:17
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Май 2010  
Откуда: Россия, г.Ижевск


Помог: 0 раз(а)




да правильно понимаешь.
только там выводятся изображения из метода output().

(Отредактировано автором: 18 Июля, 2011 - 11:27:45)

 
 Top
OrmaJever Модератор
Отправлено: 18 Июля, 2011 - 11:41:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Ну дак эту строку
PHP:
скопировать код в буфер обмена
  1. echo $this->escape($this->title);

нужно написать в цыкле
PHP:
скопировать код в буфер обмена
  1.     public function output()
  2.     {
  3.         $opendir = opendir('C:/www/zftest.web/htdocs/gallery/public/thumb');
  4.         while (false !== ($read = readdir($opendir))) {
  5.             if ($read != '.' && $read != '..') {
  6.                 echo $this->escape($this->title);
  7.                 echo "<img src= \"/thumb/$read \" />";
  8.             }
  9.         }
  10.         closedir($opendir);
  11.     }

и я ещё предпологаю что метод output() и escape() находятся в разных класах и вначале нжно создать обьект для escape() гденибудь за цыклом
PHP:
скопировать код в буфер обмена
  1.     public function output()
  2.     {
  3.         $opendir = opendir('C:/www/zftest.web/htdocs/gallery/public/thumb');
  4.         $obj = new class( ... );
  5.         while (false !== ($read = readdir($opendir))) {
  6.             if ($read != '.' && $read != '..') {
  7.                 echo $obj->escape($obj->title);
  8.                 echo "<img src= \"/thumb/$read \" />";
  9.             }
  10.         }
  11.         closedir($opendir);
  12.     }


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
СерП
Отправлено: 18 Июля, 2011 - 12:24:56
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Май 2010  
Откуда: Россия, г.Ижевск


Помог: 0 раз(а)




escape это просто метод экранирования )
но так как вы предложили, не получается все равно. выводит ошибки, что мол неопределённая переменная title, или что escape не найден
 
 Top
OrmaJever Модератор
Отправлено: 18 Июля, 2011 - 12:28:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




нужно вначале создать обьект.

эту строчку изменили на свою?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
СерП
Отправлено: 18 Июля, 2011 - 12:41:47
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Май 2010  
Откуда: Россия, г.Ижевск


Помог: 0 раз(а)




да изменил, но выводит сообщение:
Fatal error: Call to undefined method Application_Model_DbTable_Gallery::escape() in C:\www\zftest.web\htdocs\gallery\application\models\Imagick\Imagick.php on line 87
 
 Top
OrmaJever Модератор
Отправлено: 18 Июля, 2011 - 13:49:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




подключен ли файл с этим класом? Верное ли имя?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
СерП
Отправлено: 18 Июля, 2011 - 15:25:04
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Май 2010  
Откуда: Россия, г.Ижевск


Помог: 0 раз(а)




да все верно.
я потом еще попробую кое-что сделать ) спасибо за помощь )
если сделаю, отпишу сюда, как я решил эту проблему.
 
 Top
Slavenin
Отправлено: 18 Июля, 2011 - 16:20:37
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




PHP:
скопировать код в буфер обмена
  1.  public function output()
  2.     {
  3.         $opendir = opendir('C:/www/zftest.web/htdocs/gallery/public/thumb');
  4.         while (false !== ($read = readdir($opendir))) {
  5.             if ($read != '.' && $read != '..') {
  6. $name = split('.', $read);
  7. echo  $name[0];
  8. echo "<img src= \"/thumb/$read \" />";
  9.             }
  10.         }
  11.         closedir($opendir);
  12.     }
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB