0

各項目にチェックボックスがある PHP フォームがあります。チェックボックスの名前は一意の PHP 変数であり、エントリが重複しないようになっています。ユーザーがチェックボックスをオンにして「更新」をクリックしたとき。MySQL データベースが更新されます。しかし、そうではありません。なにか提案を?ありがとう


形:

<form action='spam.php' method='post'>
<?php
$query = mysql_query("SELECT * FROM files WHERE subject='business' AND active='1' ORDER BY id DESC");
$numrows = mysql_num_rows($query);
if ($numrows > 0)
  echo "<h3>Article - Business</h3>
<ol>";
while ($row = mysql_fetch_assoc($query)) {
    $id = $row['id'];
    $title = $row['title'];
    $date = $row['date'];
    $active = $row['active'];
    $desc = $row['description'];
    $author = $row['author'];
    $email = $row['email'];
    $filepath = $row['file'];
    $ext = $row['ext'];
    $subject = $row['subject'];
    echo "<script>                                      
    <li>$title <input type='checkbox' name='$id' value='0' /><$ext| <a href='$filepath'>Download</a>|<a id='aTag$id' href=''>Details  &darr;</a></li>
    ";

}

if ($numrows == 0)
 echo "";
?>
<br />                                      
<input type='submit' value='Update' name='submitbtn'/>
</form><br />

フォーム アクション:

<?php

    if (isset($_POST['$id'])) 

    mysql_query("UPDATE files SET active=0 WHERE id=$id AND subject=$subject");

?>
4

1 に答える 1

1

まず、データベースからのデータの取得と入力フィールドのエコーを分離することをお勧めします。第二に、私はそれを推測します

<?php while($row = mysql_fetch_array($result)): ?>
    <input type="checkbox" name="<?=$row['id']?>
<?php endwhile; ?>

きれいに見えます。

第三に、あなたは試したくなかった:

if (isset($_POST[$id])) ...

いいえ

if (isset($_POST['$id'])) ...

最後に、エラーや何が問題なのかを知る必要があります。

于 2012-07-06T06:19:23.457 に答える