我正在尝试使用选项框中选择的值更新我的表格,但是当我点击保存时它不会更新所选行。 id是我表的主键。你知道我做错了吗?
dovarclass.php
<form class="rnd5" action="SaveClassVariant.php" method="post" name="import" id="import">
<?php
$Query='SELECT id,Location,`Coding`, `Amino Acid Change` AS ProtDesc,GMAF, `Coverage`, `% Frequency` AS Freq FROM mytable';
$QueryPerform=mysqli_query($conn,$Query) or die(mysqli_error($conn));
while($rowPanel = mysqli_fetch_assoc($QueryPerform)) {
$id = $rowPanel["id"];
echo "<tr><td> <input name='checkbox[]' type='checkbox' id='checkbox[]' value='".$rowPanel["id"]."' </td>
<td> <select name='list[$id]' id='list[]' size='4' multiple='multiple'>
<option value='Classe 1'>Classe 1</option>
<option value='Classe 2'>Classe 2</option>
<option value='Classe 3'>Classe 3</option>
<option value='Classe 4'>Classe 4</option>
<option value='Classe 5a'>Classe 5a</option>
<option value='Classe 5b'>Classe 5b</option>
</select>
</td>
<td> ".$rowPanel["Location"]." </td><td> ".$rowPanel["Coding"]." </td><td> ".$rowPanel["ProtDesc"]." </td><td> ".$rowPanel["GMAF"]." </td><td> ".$rowPanel["Coverage"]." </td><td> ".$rowPanel["Freq"]." </td></tr>";
}
?>
<input type="submit" name="sendEcht" value="Sauvegarder" />
</form>
<?php
mysqli_close($conn);
?>
在我的 savevariantclass.php 中我试图通过这样做来获取我的身份:
if($_POST){
$VariantClass = $_POST['list'];
foreach(array_values($VariantClass) as $key =>$value )
{
$j=$key+1;
echo $j;
$UpdateVariantClass='UPDATE mytable SET VarClass="'.$value.'" where id='.$j.'';
mysqli_query($conn,$UpdateVariantClass) or die(mysqli_error($conn));
}
}//end of $_POST
答案 0 :(得分:0)
我终于设法解决了我的问题。 要获取id,我使用array_search。
$class=$_POST['list'];
foreach ($class as $value) {
$k = array_search($value,$class);
$sql='UPDATE mytable SET VarClass='.$value.' where id='.$k.'';
echo $sql.'<br/>';
}