0
    <form action="" method="post">
<?php
    include 'Includes/database_connection.php';
    $sql = "select * FROM sims"     ;
    $result = mysql_query($sql,$con);       
    while($row = mysql_fetch_assoc($result)){
?>
        <ul class="category_list">
        <input type="hidden" value="$id1" name="hidden">
        <li><a href="#"><?php echo $row['phonenr'];?><input type="hidden" value="<?php echo $row['id'];?>" name="id"></a></li>

        </ul>

<?php
    }
?>
        <input type="submit" name="submit">
    </form>

それで、電話番号を選択できる上記のフォームを取得しました。それらを送信すると、データベースが更新されます。23 個の ID があります。フォームを送信すると、常に最後の値が取得されます。私は何を間違っていますか?

if(@$_POST ['submit']) 
{  
    $id = $_POST["id"];
    echo $id;
    include 'Includes/database_connection.php';
    mysql_query("UPDATE pairings SET sim_id='$id' 
                            WHERE unit_id='$id1'")
}
4

2 に答える 2

0

chandresh_cool で指定されたわずかな変更で、期待どおりの結果が得られます。

入力名は id に置き換えられるため、post キーには $_POST['id'] ではなく、row[id] のみが含まれます。

代わりに、隠しフィールドの名前を変更して、このような配列として受け入れるようにします

<input type="hidden" value="<?php echo $row['id'];?>" name="id[]">

次に、chandresh_cool で指定された id 配列を反復処理できます

于 2013-05-22T08:13:52.820 に答える