Intereting Posts
PHP 5.3.2, Где я могу найти php5apache2_2.dll? PHP SFTP Простая загрузка файлов Как сделать обратную ссылку на страницу разбиения на страницы вернуться к предыдущей странице разбиения на страницы Как начинать недели в воскресенье? CURL: отправка изображений с помощью границы в REST API Классы PHP: когда использовать :: vs. ->? Как я могу вызвать функцию в другом файле? как реализовать простой Android OAuth и API сервера Конкатенация HTML и PHP в строке URL Использовать агрегированный метод с новыми классами драйверов MongoDB в PHP Предупреждение «Не обращайтесь к суперглобальному $ _POST массиву напрямую» на Netbeans 7.4 для PHP PHP preg_replace: Нечувствительность к регистру с чувствительностью к регистру Как преобразовать ссылки на символы HTML (& # x5E3;) в обычный UTF-8? Как сборка мусора работает в PHP? А именно, как очищаются локальные функциональные переменные? PMA 4.5.2.0 file_exists (): ограничение open_basedir

многие элементы списка для другого

Это первый раз, когда я использую этот носитель, чтобы обратиться за помощью. Я хотел знать, как в моем коде включить два списка. Тот, который запрашивает базу данных и через кнопку передает ее другому, и делает это с несколькими опциями, а затем, как и в php-коде, помещать данные из второго списка в базу данных таблицы. Спасибо.

<?php include("server.php"); $conexion = mysql_connect($server,$user, $pass) or die ("<br> No se puede conectar con la base de datos"); $conectarbase = mysql_select_db ($bd); $consulta = mysql_query("SELECT * FROM modalidad") ?> <html lang = "es"> <head> <meta charset = "iso-8859-1"/> <meta name = "description" content = "Ejemplo de HTML5"/> <meta name = "keywords" content = "HTML5, CSS3, Javascript"/> <title>PRECEPTORÍA</title> <link rel="shortcut icon" href="./style/favicon.png" /> <link rel = "stylesheet" href = "./style/style.css"> </head> <body class = "body"> <section class = "section"> <div class = "div"> <form> <fieldset id = "fieldsetalum"> <legend id = "legendalum">Registro de nuevos alumnos</legend> <select name="combo1" multiple size="8"> <?php while ($fila = mysql_fetch_row($consulta)) { echo "<option value='".$fila['0']."'>".$fila['1']."</option>"; } ?> </select> <select name="combo2" multiple size=></select> </fieldset> </form> </div> </section> </body> </html> 

    Ваша форма требует действия, чтобы подчиниться самому себе:

      <form name="form" id="form" action="<?php echo echo htmlspecialchars($_SERVER["REQUEST_URI"]); ?>" method="post"> 

    Вы можете добавить onChange (); событие в раскрывающееся select1

      <select name="combo1" multiple size="8" onChange="submit_this();"> 

    и у вас есть сценарий JavaScript в вашем <head>

      <script language="javascript"> function submit_this(){ this.form.submit();}</script> 

    Затем вам нужно будет использовать php для сбора значений с представленной страницы

      $combo1 = mysqli_real_escape_string( $_POST['combo1'] ); 

    а затем вы можете вернуть страницу со вторым выпадающим списком, построенным так же, как вы сделали первый, используя данные, которые вы возвращаете с первого, чтобы настроить второй. Вы можете обернуть первое выпадающее isset() :

      if( !isset( $combo1 ) ){ // make your first select boxes } 

    и второй в

      if( isset( $combo1 ) ){ // make your second select boxes if combo1 returned a value } 

    так что они появятся только при необходимости.

    Как говорит @NanaPartykar, mysqli – единственный способ пойти.

    Он будет зависеть от JavaScript, поэтому, если вы предпочитаете, вместо функции JavaScript вы могли бы использовать кнопку отправки:

      <input type="submit" name="submit" value="Pick Sizes" /> 

    Это выглядит удобным способом для использования блоков выбора: PHP-код для получения выделенного текста комбинированного блока

    Надеюсь, это даст вам представление о том, как это можно сделать. Переменные SESSION по-прежнему должны быть правильно определены в цикле для второго раскрывающегося списка, но они, вероятно, будут поступать непосредственно из вашей базы данных в этой точке, а не из массива сеансов, используемого для демонстрационные цели.

    Все значения задаются как числа;

    intval(); конвертирует все, что подано в целое число, чтобы очистить его.

    Затем вы можете вернуть соответствующее значение того, что было отправлено из переменной сеанса, заданной из вашей базы данных изначально.

    Таким образом, вы получите только одно числовое значение из выпадающих списков, которое вы можете использовать для поиска, чтобы получить ответ, который вы хотите

      <?php session_start(); ?> <!DOCTYPE html> <html lang = "es"> <head> <title>PRECEPTORÍA</title> </head> <body> <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>" method="post"> <?php $main_opt = array(); $_SESSION['opt_vals'] = array(); $main_opt[0] = "Select Item"; $main_opt[1] = "Ice Cream"; $main_opt[2] = "Trousers"; $main_opt[3] = "Tee Shirts"; $_SESSION['opt_vals'][1][0] = "Select Flavour"; $_SESSION['opt_vals'][1][1] = "Vanilla"; $_SESSION['opt_vals'][1][2] = "Chocolate"; $_SESSION['opt_vals'][1][3] = "Strawberry"; $_SESSION['opt_vals'][1][4] = "Tuttifrutti"; $_SESSION['opt_vals'][2][0] = "Select Colour"; $_SESSION['opt_vals'][2][1] = "Black"; $_SESSION['opt_vals'][2][2] = "Red"; $_SESSION['opt_vals'][2][3] = "Green"; $_SESSION['opt_vals'][2][4] = "Blue"; $_SESSION['opt_vals'][3][0] = "Select Size"; $_SESSION['opt_vals'][3][1] = "Small"; $_SESSION['opt_vals'][3][2] = "Medium"; $_SESSION['opt_vals'][3][3] = "Large"; $_SESSION['opt_vals'][3][4] = "X Large"; $i = 0; if(!isset($_POST['combo1']) && !isset($_POST['combo2'])){ echo '<select name="combo1" onChange="submit();">' . "\n"; //while ($fila = mysqli_fetch_row($consulta)){ while($i < count($main_opt)){ echo "<option value='".$i."'>".$main_opt[$i]."</option>\n"; $o = 0; // load your sub options array here if(!$_SESSION['opt_vals'][$i]) $_SESSION['opt_vals'][$i] = array(); while($i < count($_SESSION['opt_vals'][$i])){ $_SESSION['opt_vals'][$i] = $o; if(!$_SESSION['opt_vals'][$i]) $_SESSION['opt_vals'][$i] = array(); $_SESSION['opt_vals'][$i][$o] = $_SESSION['opt_vals'][$i][$o]; $o++; } $i++; } echo '</select>' . "\n"; }else{ if(intval($_POST['combo1']) >= 1) $_SESSION['combo1_val'] = $combo1_val =intval($_POST['combo1']); if(intval($_POST['combo1']) >=1){ $i = 0; echo '<select name="combo2" onChange="submit();">' . "\n"; while($i < count($_SESSION['opt_vals'][$combo1_val])){ echo "<option value='".$i."'>".$_SESSION['opt_vals'][$combo1_val][$i]."</option>\n"; $i++; } } echo '</select>' . "\n"; } if(intval($_POST['combo2']) >= 1) $_SESSION['combo2_val'] = $combo2_val =intval($_POST['combo2']); if($_SESSION['combo1_val'] >=1 && $_SESSION['combo2_val'] >=1){ // use the result to do whatever you want echo 'Thank you! You have selected ' . $_SESSION['opt_vals'][$_SESSION['combo1_val']][$_SESSION['combo2_val']] . " " . $main_opt[$_SESSION['combo1_val']] . '.'; } // Do any mysqli adjustments to your database here // reset to go again if($_SESSION['combo2_val'] >= 1){ $_SESSION['combo1_val'] = 0; $_SESSION['combo2_val'] = 0; } ?> </form> <a href="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']); ?>">Click to start a new selection</a> </body> </html> 

    Вы можете удалить onChange="submit();" и замените его обычной кнопкой отправки в форме, если хотите.