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 :: Версия для печати :: Как правильно получить данные из четырех таблиц из базы данных mysql, с помощью php+ajax
Форумы портала PHP.SU » » Работа с СУБД » Как правильно получить данные из четырех таблиц из базы данных mysql, с помощью php+ajax

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

1. beki007 - 25 Июля, 2018 - 09:10:20 - перейти к сообщению
Есть 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. И вывести на таблицу.

Как можно реализовать? Помогите пожалуйста.
Заранее благодарен за помощь
2. Vladimir Kheifets - 27 Июля, 2018 - 14:48:43 - перейти к сообщению
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)
Спойлер (Отобразить)
Можно попробовать сделать запрос:
Спойлер (Отобразить)
Результат
Спойлер (Отобразить)
Удачи!

 

Powered by ExBB FM 1.0 RC1