**こんにちは 私はこのPHPコードを作成しています。チェックボックスに基づいてデータベースをテキストボックスで更新します
このチェックボックスに属する数量を更新したいとします。 私のコードの正確な問題は:たとえば、私は3つのチェックボックスを持っていて、同時にそれらの数量を入力すると、更新が正しく行われ、他の2つの更新しかし、私が2番目または3番目のものだけを同時に更新するのではなく、最初のものの古い値の量を取ります: ""( どのようにしてコードを変更してすべてのアイテムを更新できますか? 。のみチェックされた項目ここ
は、チェックボックスの数量を表示するための私のコードであるファイルmanage_items.phpで:**
<?php
$DB_HOST ='localhost';
$DB_USER ='root';
$DB_PASSWORD='';
$DB_DATABASE='dks';
$con= mysql_connect($DB_HOST ,$DB_USER , $DB_PASSWORD);
if(!$con){
die('Failed to connect to server :'.mysql_error());
}
$db=mysql_select_db($DB_DATABASE);
if(!$db){
die("unable to select database");
}?>
$qry="SELECT * FROM catalog";
$result= mysql_query($qry);
if($result){
while($info = mysql_fetch_array($result))
{
print "<h3><a href=\"\#\"> cat:".$info['name']."</a></h3><div>";
$qryitem="SELECT * FROM item WHERE Id=". $info['Cid'];
$resultitem=mysql_query($qryitem);
if($resultitem){
?>
<form method="post" action="manage_item_action.php">
<?php
while($info=mysql_fetch_array($resultitem))
{
?>
<input type="checkbox" name="op[]" value="<?php echo $info['Id'];?>"/><?php echo $info['name'];?>
<label> Quantity <input type="text" name="Quantity[]" value="<?php echo $info['Quantity'];?>"/></label>
<br/>
<?php
}
}
else echo "There are no items.";
print "</div>";
}
}
?>
</div>
<input type="submit" value="update" name="submit"/>
</form>
、ここで更新 のexcutionは、ファイルmanage_item_action.phpに
<?php
$DB_HOST ='localhost';
$DB_USER ='root';
$DB_PASSWORD='';
$DB_DATABASE='dks';
$con= mysql_connect($DB_HOST ,$DB_USER , $DB_PASSWORD);
if(!$con){
die('Failed to connect to server :'.mysql_error());
}
$db=mysql_select_db($DB_DATABASE);
if(!$db){
die("unable to select database");
}
$options=$_POST['op'];
$qun=$_POST['Quantity'];
$size =count($options);
for($i =0; $i<$size; $i++)
{
//$qryop="UPDATE item SET Quantity =".$qun."WHERE Id =".$options[$i]."';";
$resultop=mysql_query("update item set Quantity='".$qun[i]."'where Id='".$options[$i]."'");
}
if($resultop){
header("location: manage_items.php");}
else echo "there was an error"
?>
である私は、問題を解決する方法を知りません! しかし、私の主な問題は、すべてのテキストボックスの名前が同じだと思います。 私はecutionのためにそれを他のファイルに送信するとき、それは最後のものとしてそれを取る。
私を助けてください:$
* は* *
を更新しましソリューション *
ので、私は自分のコードの問題を解決し、その唯一のテキストボックスを必要配列がヌルインデックスを持たないようにチェックボックスをチェックインする前に無効にする必要があります。ヌルなしで入力した値だけを持ちます :))
:、あなたの更新用クエリで、その後に変更を
と:その代わり、これにこのフォーム入力を変更"$ qun [i]。" 'Id =' "。$ options [$ i]。" '";'そして出力も質問に入れます。 – hjpotter92