2017-12-20 6 views
0

テーブルをオプション選択ボックスに選択して更新しようとしていますが、保存したときに選択した行が更新されません。 idは私のテーブルの主キーです。私が間違っていることを知っていますか?私 savevariantclass.phpでphp mysql update table optionリストボックス

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>&nbsp;<input name='checkbox[]' type='checkbox' id='checkbox[]' value='".$rowPanel["id"]."'&nbsp;</td> 
     <td>&nbsp;<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>&nbsp;".$rowPanel["Location"]."&nbsp;</td><td>&nbsp;".$rowPanel["Coding"]."&nbsp;</td><td>&nbsp;".$rowPanel["ProtDesc"]."&nbsp;</td><td>&nbsp;".$rowPanel["GMAF"]."&nbsp;</td><td>&nbsp;".$rowPanel["Coverage"]."&nbsp;</td><td>&nbsp;".$rowPanel["Freq"]."&nbsp;</td></tr>"; 
     } 
?> 
<input type="submit" name="sendEcht" value="Sauvegarder" /> 
</form> 
<?php 
mysqli_close($conn); 
?> 

私はそれをすることによって、私のIDを取得しようとしています:

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

* dovarclass.php *の '$ Query = ...'行には、文字列の最後に引用符がありません。あなたの質問はうまくいかないでしょう...しかし、あなたが言うことから、私はそれを集めます。そんなことがあるものか? In * savevariantclass.php * '$ tablename'は不明なので、動作しません。 –

+0

ここに自分のコードをコピーすると、私は引用符を忘れてしまった。私は編集しました – user979974

+0

また、2番目の問題を編集しました。コードが実際に使用しているコードと正確に異なる場合は、どうすればお手伝いできますか? –

答えて

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/>'; 

}