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 :: Цикл в цикле из MySQL

 PHP.SU

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


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

> Без описания
Elegant
Отправлено: 28 Июля, 2013 - 21:23:48
Post Id



Частый гость


Покинул форум
Сообщений всего: 151
Дата рег-ции: Май 2012  


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




Всем привет! Столкнулся с бедой...
Есть такой код:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?
  3. mysql_query("SET NAMES 'utf8'");
  4. $sql = "select * from piar ORDER BY listorder ASC";
  5. $result = mysql_query($sql);
  6.  
  7. while ($itog = mysql_fetch_array($result, MYSQL_ASSOC))
  8. {
  9. echo
  10. "<div id='blok' style='margin-top: 30px;'>
  11.                 <div id='zag'>
  12.                         <h1 style='padding-top:20px; color: #FFF5EE;'>".$itog["nazv"]."</h1></div>
  13.         <div id style='margin-top: 30px;'>
  14.                 <table>
  15.                         <tbody>
  16.                                 <tr>
  17.                                         <td>
  18.                                                 <img src=".$itog["cover"]." style='width: 220px; height: 200px; margin-left: 40px ;  margin-bottom:15px; margin-top:30px;'></td>
  19.                        
  20.                                         <td align='left' valign='center'>
  21.                 ".$itog["description"]."
  22.                                        
  23.                                   <span style='font-family: verdana; font-weight: bold; margin-left:30px;'>Автор: ".$itog["name"]." - <span><a href=".$itog["site"]." target='_blank'>
  24.                                   <span style='color: blue;'>Перейти на сайт</a></span>
  25.                                   </td>
  26.                  
  27.                                 </tr>
  28.                         </tbody>
  29.                 </table>
  30.                 <div id='form'>
  31. ".$itog["code"]."
  32.                 </div>
  33.                 <div id='sep'>
  34.                         <img src='sep00000.png'></div>
  35.        
  36.         </div>
  37.         </div>";
  38. }
  39. ?>
  40.  


Работает все окей.
Этот код выводит данные из таблицы PIAR
А нужно сделать так, что бы он брал данные idavtor из таблицы PIAR и потом отображал данные из таблицы CLIENTS...
Вот начал писать но не могу понять как дальше делать.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. select clients.id,clients.name,clients.site,clients.nazv,clients.cover,clients.code,clients.description,piar.idavtor,piar.listorder   from clients,piar where piar.idavtor='1'
  3. && clients.id = piar.idavtor";
  4.  


Нужно присвоить значение piar.idavtor тому значений который цикл дает и все это запустить еще раз в цикле что бы значения выдергивались уже из таблицы CLIENTS

(Отредактировано автором: 28 Июля, 2013 - 21:25:53)

 
 Top
EuGen Администратор
Отправлено: 28 Июля, 2013 - 21:40:11
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Не нужно двойных циклов. Используйте JOIN
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT clients.id,clients.name,clients.site,clients.nazv,clients.cover,clients.code,clients.description,piar.idavtor,piar.listorder   FROM clients LEFT JOIN piar ON clients.id=piar.idavtor WHERE piar.idavtor=1

- и затем обычный цикл вывода данных.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DeepVarvar Супермодератор
Отправлено: 28 Июля, 2013 - 21:45:17
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




И вот это почитайте
 
 Top
Elegant
Отправлено: 29 Июля, 2013 - 06:42:50
Post Id



Частый гость


Покинул форум
Сообщений всего: 151
Дата рег-ции: Май 2012  


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




Не понял, а как в piar.idavtor подставить значение нужное?
 
 Top
quinlena
Отправлено: 29 Июля, 2013 - 11:03:45
Post Id


Частый гость


Покинул форум
Сообщений всего: 157
Дата рег-ции: Апр. 2012  
Откуда: Казахстан


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




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT clients.id,clients.name,clients.site,clients.nazv,clients.cover,clients.code,clients.description,piar.idavtor,piar.listorder   FROM clients LEFT JOIN piar ON clients.id=piar.idavtor WHERE piar.idavtor='".$idavtor."'


Подставляешь туда значение и все.
 
 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