За последние 24 часа нас посетили 7805 программистов и 433 робота. Сейчас ищут 187 программистов ...

Зависимые списки

Тема в разделе "JavaScript и AJAX", создана пользователем ksyaphpnutakoe, 27 июн 2020.

  1. ksyaphpnutakoe

    ksyaphpnutakoe Новичок

    С нами с:
    25 июн 2020
    Сообщения:
    4
    Симпатии:
    0
    нужно сделать два зависимых списка: от выбранного фильма предлагается Дата которая относится к выбранному фильму, при этом дата и фильм находится в одной таблице в БД
    upload_2020-6-27_19-27-27.png upload_2020-6-27_19-22-37.png upload_2020-6-27_19-28-46.png
    не работает второй select не выдает дату к фильму

    PHP:
    1. <?php echo '<h1>Билеты</h1>';
    2. require_once "db.php";
    3. dbConnect(); // Файл с подключением к бд?>
    4. <!DOCTYPE html>
    5. <html lang="en" dir="ltr">
    6.   <head>
    7.     <meta charset="utf-8">
    8.     <title></title>
    9.   </head>
    10.   <body>
    11.  
    12.   </body>
    13. </html>
    14. <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
    15. <h2>Добавить билет</h2>
    16. <form method="post">
    17.   <label >Название фильма</label>
    18.  
    19.   <script type="text/javascript">
    20.   $(document).ready(function(){
    21.     $('#get_film').change(function(){
    22.       var filmID  = $(this).val();
    23.       if(filmID)
    24.       {
    25.  
    26.         $.ajax({
    27.           url:"date.php",
    28.           method:"POST",
    29.           data:{'film_id='+ filmID},
    30.           success:function(html)
    31.           {
    32.             $('#date').html(html);
    33.           }
    34.         } else {
    35.           $('#date').html('<option value="">Сначала выберите фильм</option>');
    36.         });
    37.       }
    38.     });
    39.   });
    40. </script>
    41. <select id="film">
    42.   <option value="">Выберите фильм</option>
    43.   <?php echo load_film(); ?>
    44. </select><br><br>
    45. <p>Дата
    46. <select name="date" id="date">
    47.   <option value="">Выберите дату</option>
    48. </select>
    49. </p>
    50. function load_film(){
    51.   global $link;
    52.   include_once('add.php');
    53.   $output = '';
    54.  
    55.   $results=$link->query("select distinct `Название фильма` from `Фильмы` inner join `Сеансы` on `Фильмы`.`Код фильма`=`Сеансы`.`Код фильма`");
    56.   while ($row = $results->fetch_array())
    57.   {
    58.   $output .= '<option value='.$row['Код фильма'].'>'.$row['Название фильма'].'</option>';
    59.   }
    60.   return $output;
    61. }
    PHP:
    1. <?php
    2. require_once "db.php";
    3. dbConnect();
    4.  
    5. if(!empty($_POST['film_id'])){
    6.   $results=$link->query("Select `Код сеанса` `Дата` from `Сеансы` inner join `Фильмы` on `Сеансы`.`Код фильма`=`Фильмы`.`Код фильма` where `Код фильма`='".$_POST['filmID']."'");
    7.   var_dump($results);
    8.   if($results->num_rows > 0)
    9.   {
    10.     echo '<option value="">Дата</option>';
    11.     while ($row = $results->fetch_array()){
    12.       echo '<option value='.$row['Код сеанса'].'>'.$row['Дата'].'</option>';
    13.     }
    14.   }else{
    15.     echo '<option value="">Даты недоступны</option>';
    16.   }
    17. }
    18.  
    19. ?>
     

    Вложения:

  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    2.324
    Симпатии:
    459
    Адрес:
    Татарстан
    Var_dump то уберите...
     
  3. ksyaphpnutakoe

    ksyaphpnutakoe Новичок

    С нами с:
    25 июн 2020
    Сообщения:
    4
    Симпатии:
    0
    это не влияет
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    2.324
    Симпатии:
    459
    Адрес:
    Татарстан
    Влияет, так как всякая ерунда будет выдаваться.

    Ну и пункты select через html() не добавляются. Надо через добавление потомков к select, либо отдавать не только options, а полностью сформированный <select name....>...с опциями