php在选择多选的select时,无论选择选项的先后顺序如何,显示的选择结果永远是按照index的大小排序的,如何根据option的选择顺序来显示option的选择结果呢?请教。比如下面的代码:我点选的顺序是FIRE>RECT>GAS
但显示的结果永远是按照INDEX大小排序的:GAS>RECT>FIRE <form name="form6" method="POST" action="seltest.php">
        <b>UNIT:</b>&nbsp;
        <select name="qur_unit_name[]" id="test"   multiple="multiple" style='width:100px;' class='select' >
          <option value ="GAS" >GAS</option>
          <option value ="SHF">SHF</option>
          <option value="RECT">RECT</option>
          <option value="CH3OH">CH3OH</option>
          <option value="NH3">NH3</option>
          <option value="WAT">WAT</option>
          <option value="FIRE">FIRE</option>
        </select>        <input id="sel_testtt" class="btn" type="submit" value="TEST">
</form><?php
print_r($_POST['qur_unit_name']);
echo "<br>";
if($_POST['qur_unit_name']){
         foreach($_POST['qur_unit_name'] as $val) {
                       echo "Selected: $val<BR>";
                            }
              echo "Total: ".count($_POST['qur_unit_name']);
}
?>

解决方案 »

  1.   

    试过JS可以解决,但JS的值回传给PHP又搞不定,郁闷中。
      

  2.   

    PHP 那边定义一个数字就可以了
      

  3.   

    用for循环,不要用foreach.
    文档鸟哥的深入理解PHP之数组
      

  4.   

    PHP 那边定义一个多维数组,把html的值传过去,   查询一下数组就好了
      

  5.   

    改成for还是一样,按照select的index顺序;
      

  6.   

    改成for还是一样,按照select的index顺序;
      

  7.   

    可否简单示例一下?
    https://www.cnblogs.com/hydor/p/4095430.html
      

  8.   

    要想记录select的选择顺序 应该要在js端建立顺序关系的数组 然后把值传给服务端
    js端可以声明数组 通过select的操作事件 生成数组
    完成提交后 可以通过jquery的ajax传值 
    如果是表单直接提交的话 可以把数组转成特定的字符串
    服务端在解析回来 就可以了