列表框的许多元素到另一个

这是我第一次使用这种媒介寻求帮助。 我想知道在我的代码中如何包含两个列表框。 一个使查询数据库,并通过按钮,将其发送到另一个,并使用多个选项,然后,如在PHP代码中将数据从第二个列表框放在表数据库上。 谢谢。

<?php include("server.php"); $conexion = mysql_connect($server,$user, $pass) or die ("
No se puede conectar con la base de datos"); $conectarbase = mysql_select_db ($bd); $consulta = mysql_query("SELECT * FROM modalidad") ?> PRECEPTORÍA
Registro de nuevos alumnos <?php while ($fila = mysql_fetch_row($consulta)) { echo "".$fila['1'].""; } ?>

您的表单需要提交自己的操作:

  
" method="post">

你可以添加一个onChange(); 事件到你的select1下拉列表

   

并在有一个JavaScript脚本

   

然后你将不得不使用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函数:

   

这看起来很方便参考如何使用选择框: PHP代码来获取combobox的选定文本

我希望这会让你知道它是如何完成的 – SESSION变量仍然需要在第二个下拉列表的循环中正确定义,但它们可能直接来自你的数据库,而不是来自用于的第二个下拉列表。演示目的。

所有值都设置为数字;

intval(); 转换提交给整数的任何东西来清理它。

然后,您可以返回从最初从数据库设置的会话变量提交的内容的相应值。

这样,您只需从您的下拉菜单中获取一个数字值,您可以使用它来查找您想要的答案

      PRECEPTORÍA   
' . "\n"; //while ($fila = mysqli_fetch_row($consulta)){ while($i < count($main_opt)){ echo "\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 '' . "\n"; }else{ if(intval($_POST['combo1']) >= 1) $_SESSION['combo1_val'] = $combo1_val =intval($_POST['combo1']); if(intval($_POST['combo1']) >=1){ $i = 0; echo '' . "\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; } ?>
Click to start a new selection

你可以删除onChange="submit();" 如果您愿意,可以使用表单上的普通提交按钮替换它。