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]   

> Описание: с двух таблиц
gefard
Отправлено: 05 Марта, 2012 - 21:05:46
Post Id



Гость


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


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




2 дня пытаюсь сделать но никак не пойму как?
с первой таблицы получам урлы - нужное их количество
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $result2 = $db->sql_query("SELECT url FROM ".$prefix."_linkurl ORDER BY uid DESC LIMIT $start  ,$end");
  3. while ($row = $db->sql_fetchrow($result2)) {
  4.     $url = $row['url'];}

со второй текст анкоров
CODE (htmlphp):
скопировать код в буфер обмена
  1.  $result = $db->sql_query("SELECT ankor FROM ".$prefix."_linkankor ");
  2. while ($row = $db->sql_fetchrow($result)) {
  3.     $ankor = $row['ankor'];}

необходимо оформить так
CODE (htmlphp):
скопировать код в буфер обмена
  1.         echo "<a href=\"$url\">$ankor</a>";

Куда копать подскажите плиз
 
 Top
Newy
Отправлено: 05 Марта, 2012 - 21:43:07
Post Id


Новичок


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


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




Насколько я понимаю необходимо получить данные из 2 связанных таблиц. Вот 2 варианта:
1) Попытаться получить данные из 2 таблиц в одном запросе (правильный и логичный):

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT table_1.url, table_2.anchor FROM table_1, table_2  WHERE table_1.id = table_2.id;


PHP:
скопировать код в буфер обмена
  1. $res=mysql_query("SELECT table_1.url, table_2.anchor FROM table_1, table_2  WHERE table_1.id = table_2.id");
  2. for($i=0;$row=mysql_fetch_array($res);$i++){
  3.      echo 'a href="'.$row['url'].'">'.$row['anchor'].'</a>';
  4. }


2) Получить данные двумя запросами, записать их в массивы и далее выводить данные из первого и второго массивов, предполагая что они совпадут) - правильный результат не гарантирован
PHP:
скопировать код в буфер обмена
  1. $res=mysql_query("SELECT url FROM table_1");
  2. $array_url=array();
  3. for($i=0;$row=mysql_fetch_array($res);$i++){
  4.     $array_url[$i]=$row['url'];
  5. }
  6. $res=mysql_query("SELECT anchor FROM table_2");
  7. $array_anchor=array();
  8. for($i=0;$row=mysql_fetch_array($res);$i++){
  9.     $array_anchor[$i]=$row['anchor'];
  10. }
  11. foreach($array_url as $key=>$value){
  12.     echo 'a href="'.$value.'">'.$array_anchor[$key].'</a>';
  13. }
  14.  


Надеюсь поможет)
 
 Top
gefard
Отправлено: 05 Марта, 2012 - 21:57:30
Post Id



Гость


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


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




спасибо большое, второй вариант вообще четкий
да собственно и работает с косячком, по сути все ограничивается содержимым таблицы анкоров - но это уже не важно
 
 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