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 :: Выборка из двух таблиц в xml

 PHP.SU

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


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

> Без описания
Ismail
Отправлено: 08 Февраля, 2013 - 17:11:38
Post Id



Новичок


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


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




Подскажите, как правильно написать запрос.

Есть 2 таблицы с разными данными(названия столбцов разные). Создал в каждой таблице столбец с именем id_order, значение этого id_order одинаково для обеих столбцов. Нужно сверяя данные 2х таблиц, по id_order выводить результат.

Как то так:

// запрос к базе

// вывод в xml

// если id_order.table1 = id_order.table2 вывести привет! в ином случае вывести пока!

Я вижу это как-то так:

PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3. $db = mysql_connect("localhost","name_bd","pass");
  4. mysql_select_db("name_bd",$db);
  5. $result1 = mysql_query("SELECT `id`,`click`,`source` FROM ps_pay",$db);
  6. $result2 = mysql_query("SELECT `id_order` FROM ps_order WHERE `id_order`='$date1[id]'",$db);
  7. $date2 = mysql_fetch_array($result2)
  8. // делаем ответ xml
  9.  
  10. header('Content-Type: text/xml');
  11. echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<items>\n";
  12. while ($date1 = mysql_fetch_array($result1))  {
  13. if (empty($date1['id'])) { } else {
  14. echo "<item>\n";
  15. echo "<id>" . $date1['id'] . "</id>\n";
  16. echo "<id>" . $date1['click'] . "</id>\n";
  17. echo "<id>" . $date1['source'] . "</id>\n";
  18. if(empty($date2['id'])) {echo "Пока!\n";} else {echo "Привет!\n";}
  19. echo "</item>\n";
  20. }
  21. }              
  22. echo "</items>";
  23.                
  24. ?>


Но это, конечно, не работает...
(Добавление)
Кажется нашел ответ, запрос получился такой:

PHP:
скопировать код в буфер обмена
  1. "SELECT ps_action_pay.id, ps_action_pay.click, ps_action_pay.source, ps_action_pay.date, ps_action_pay.key, ps_action_pay.price, ps_orders.valid
  2.        FROM `ps_action_pay`, `ps_orders`
  3.        WHERE ps_action_pay.id = ps_orders.id_order"


может кому пригодится Радость

(Отредактировано автором: 08 Февраля, 2013 - 17:13:49)

 
 Top
esterio
Отправлено: 08 Февраля, 2013 - 19:11:28
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




Ismail пишет:
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<items>\n";
while ($date1 = mysql_fetch_array($result1)) {
if (empty($date1['id'])) { } else {
echo "<item>\n";
echo "<id>" . $date1['id'] . "</id>\n";
echo "<id>" . $date1['click'] . "</id>\n";
echo "<id>" . $date1['source'] . "</id>\n";
if(empty($date2['id'])) {echo "Пока!\n";} else {echo "Привет!\n";}
echo "</item>\n";
}
}
echo "</items>";

1. Все ето делаеться просто через simplexml
2. используйте mysqli или PDO

Поздравляю с успешным запросом
Позд
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB