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+ajax

 PHP.SU

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


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

> Описание: Надо правильно отправить данные из формы и получить данные из четырех таблиц из базы данных mysql, с помощью php+ajax
beki007
Отправлено: 25 Июля, 2018 - 09:10:20
Post Id


Новичок


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


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




Есть 4 таблицы в базе: person(id, name, lastname), city(id, title), transport(id, title, price, date), hotel(id, title, price).
Имеется html форма:

CODE (html):
скопировать код в буфер обмена
  1.  
  2.     <form method="GET" action="/">
  3.       <select name="personname">
  4.         <option value="Иван">Иван</option>
  5.         <option value="Сергей">Сергей</option>
  6.       </select>
  7.       <input name="citytitle" type="text">
  8.       <input name="hoteltitle" type="text">
  9.       <input name="transportdate1" type="date">
  10.       <input name="transportdate2" type="date">
  11.       <input name="price1" type="number">
  12.       <input name="price2" type="number">
  13.       <button id="submit">Искать</button>
  14.     </form>
  15.     <div class="result"></div>
  16.  
  17.     <script type="text/javascript">
  18.     $('#submit').click(function(){
  19.         $.ajax({
  20.             url: 'script.php?person=' + $('select[name="personname"]').val() + '&citytitle=' + $('input[name="citytitle"]').val() + '&hoteltitle=' + $('input[name="hoteltitle"]').val() + '&transportdate1=' + $('input[name="transportdate1"]').val() + '&transportdate2=' + $('input[name="transportdate2"]').val() + '&price1=' + $('input[name="price1"]').val() + '&price2=' + $('select[name="price2"]').val(),
  21.                         dataType: "html",
  22.                         type: 'GET',
  23.                         success: function(data){
  24.                                 if (data == ""){
  25.                                         $('div.result').html("Поиск дал 0 результатов");
  26.                                 }else{
  27.                                         $('div.result').html(data);
  28.                                 }
  29.                         }
  30.                 });
  31.         });
  32.     </script>
  33.  


и содержимое script.php:

PHP:
скопировать код в буфер обмена
  1.  
  2.     <?PHP
  3.     require_once "config.php"; // подключаемся к базе данных
  4.     foreach("$_GET['personname']"){
  5.         $query = "SELECT * FROM `person` WHERE `personname` = $_GET['personname']";
  6.         $t = mysql_query($query);
  7.         if (($t) and (mysql_num_rows($t) > 0)) {
  8.                 $sql = mysql_fetch_array($t);
  9.                 echo '
  10.    <table>
  11.      <tr>
  12.        <td id="personname">$sql[name]</td>
  13.        <td id="citytitle"> *?* </td>
  14.        <td id="transportdate"> *?* </td>
  15.        <td id="hoteltitle"> *?* </td>
  16.        <td id="pricetransport_pricehotel"> *?* </td>
  17.      </tr>
  18.    </table>';
  19.         }
  20.     };
  21.     ?>
  22.  


Вот тут в php надо сделать так: вывести данные из таблиц, соответствующий данным из формы поиска, потом суммировать price из таблицы transport + price из таблицы hotel. И вывести на таблицу.

Как можно реализовать? Помогите пожалуйста.
Заранее благодарен за помощь

(Отредактировано автором: 25 Июля, 2018 - 09:12:24)

 
 Top
Vladimir Kheifets
Отправлено: 27 Июля, 2018 - 14:48:43
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




beki007 пишет:
Есть 4 таблицы в базе: person(id, name, lastname), city(id, title), transport(id, title, price, date), hotel(id, title, price).
Имеется html форма:

Спойлер (Отобразить)


и содержимое script.php:
Спойлер (Отобразить)

Вот тут в php надо сделать так: вывести данные из таблиц, соответствующий данным из формы поиска, потом суммировать price из таблицы transport + price из таблицы hotel. И вывести на таблицу.
Как можно реализовать? Помогите пожалуйста.
Заранее благодарен за помощь

Добрый день!
Допустим, что есть 4 таблицы в базе: person(id, name, lastname), city(id, title), transport(id, title, price, date), hotel(id, title, price)
Спойлер (Отобразить)
Можно попробовать сделать запрос:
Спойлер (Отобразить)
Результат
Спойлер (Отобразить)
Удачи!
 
 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