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
Форумы портала PHP.SU :: Версия для печати :: Обьединить циклы для вывода изображений из папки и данных из БД
Форумы портала PHP.SU » » Работа с СУБД » Обьединить циклы для вывода изображений из папки и данных из БД

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

1. mog-pod - 15 Мая, 2016 - 20:50:45 - перейти к сообщению
Есть цикл на вывод изображений из папки

PHP:
скопировать код в буфер обмена
  1. $dir = 'img/workers/'; // Папка с изображениями
  2. $files = scandir($dir); // Берём всё содержимое директории
  3.  
  4. for ($i = 0; $i < count($files); $i++) { // Перебираем все файлы
  5.     if (($files[$i] != ".") && ($files[$i] != "..")) {// Текущий каталог и родительский пропускаем
  6.         $path = $dir . $files[$i];
  7.         echo '<td><img src=' . $path . ' align="center"  width="400" height="250"> </td></tr>';
  8.  
  9.     }
  10. }


И есть запрос с циклом whiele на вывод данных из БД
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = $mysqli->query("SELECT workers.first_name FROM workers");
  3. while($rows = $result->fetch_assoc()) {
  4. for ($i = 0; $i < count($files); $i++) {
  5.  
  6.     echo '<table  border=1 width="20">';
  7.     echo '<tr><td>name:  </td> <td>' . $rows ['first_name'] . '</td></tr>';
  8.     echo '<tr><td>photo  </td> <td></td></tr>';
  9. }
  10. }
  11. ?>
  12. </table>
  13.  


Подскажите как обьединить 2 цикла для вывода?

Если делать вот так, то выведет разные фото, но одинаковые данные из бд.
PHP:
скопировать код в буфер обмена
  1.  
  2. while($rows = $result->fetch_assoc()) {
  3.     for ($i = 0; $i < count($files); $i++) {
  4.         if (($files[$i] != ".") && ($files[$i] != "..")) {
  5.             $path = $dir . $files[$i];
  6.    echo '<table  border=1 width="20">';
  7.     echo '<tr><td>name:  </td> <td>' . $rows ['first_name'] . '</td></tr>';
  8.     echo '<tr><td>photo  </td> <td> <img src=' . $path . ' align="center"  width="400" height="250"> </td></tr>';
  9.  


Кто что думает?
2. Viper - 15 Мая, 2016 - 21:03:11 - перейти к сообщению
Я так понимаю данные из БД и файлы из папки у вас никак не связанны? Т.е. для одного юзера может быть несколько фото? Или как? Каким образом вы определяете что это фото Васи, а не Маши?

Первый цикл с кучей проверок можно заменить на glob() по шаблону.

 

Powered by ExBB FM 1.0 RC1