получить множественный идентификатор, а значение опции множественного выбора POST к следующей форме

Как я могу получить несколько идентификаторов в то время как 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>

1

Решение

Вы не можете сравнивать строку с предложением 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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]