获得多个ID,同时POST多个选择选项值到下一个表格

问题描述:

如何获得多个ID,同时POST多个选择选项值到下一个表格?我只从数组中获得第一个选择ID。你们可以向我提出任何想法吗?获得多个ID,同时POST多个选择选项值到下一个表格

这里是我的代码,当选择的值。

<tr> 
        <label>Auditor: </label> 
        <select class="form-control" name="auditor[]" multiple="multiple" > 
        <?php 
        $result = $db->query("SELECT * FROM auditor"); 
        while($row = mysqli_fetch_array($result)) 
        { 
         echo '<option value="'.$row["auditor_name"].'">'.$row["auditor_name"].'</option>'; 
         } 
        echo "</select>"; 
        ?> 
        </tr> 

这是另一个代码,而POST到下一页。

$myselected   = $_POST["auditor"]; 

if(count($myselected)>1){ 
    $auditor = implode ("','",$myselected); 
    }else{ 
    $auditor =$myselected; 
    } 

$query10 = "SELECT * FROM auditor WHERE auditor_name IN ('$auditor') "; 
$result10 = $db->query($query10); 
$row10 = $result10->fetch_array(); 

?> 

<form action="audit_action/audit_action.php" role="form" method="post" name="auditformdetails" onsubmit="return(validate());"> 
<table width='100%' border='0' class="table"> 
<tr> 
    <td colspan=6>Audit details</td> 
    <td colspan=6>Outlet details</td> 
</tr> 

<tr> 
<td><b>Auditor:</b></td> 

<td colspan='5'> 
**<?php 
    echo'<input type="hidden" name="auditor_id" value="'.$row10["id"].'">'; 

    foreach ($myselected as $auditor){ 
    echo $auditor."<br>\n"; 
    } 
?>** 
</td> 
+0

你能解释一下你想要的输出吗? – sandeepsure

+0

嗨@sandeepsure,输出例如: ROBERT ALAN ALVIN 但是,当后的数据也只显示前ROBERT“ID”;另外两个ALAN和ALVIN id没有显示,当我传递表单时,它只存储第一个ROBERT ID到数据库中。 – Andrew

+0

'print_r($ myselected)'让我知道结果。 – sandeepsure

您无法将字符串与mysql IN子句进行比较。所以,你必须连接你的每个值或查询条件,如下所示。

$myselected = $_POST["auditor"]; 
$sql_cond = ""; 
if(count($myselected)>1){ 

    foreach($myselected as $selected){ 
     if($sql_cond != "") 
      $sql_cond.=" or auditor_name = ".$selected; 
     else 
      $sql_cond.=" auditor_name = ".$selected; 
    } 

}else{ 
    $auditor =$myselected; 
} 

$query10 = "SELECT * FROM auditor WHERE ".$sql_cond; 
+0

查询后的$ result语句如何?只需跟着 $ result10 = $ db-> query($ query10); $ row10 = $ result10-> fetch_array(); 是否正确? – Andrew