0

while ループで SQL データを取得し、そのデータをテーブルに挿入します。フォームと送信ボタンを使用すると、変更された値を保存できます。

私の簡略化されたコード:

 <table>
        <tr>
    <?php
//SQL QUERY
//...

while ($row = mysql_fetch_array($sql_header)) {
    $var_ab = $row['ab'];
    $var_id = $row['id'];
?>
          <form id="form1" action="" method="POST">
             <td> 
                   <input type="text" value="<?php echo $var_ab; ?>" 
             </td>
             <td>
                   <input type="text" value="<?php echo $var_id; ?>" 
             </td>
       //PLACEHOLDER FOR SECOND FORM
       <?php
}
?>

        </tr>  
             <td>
                 <input type="submit" name="save" value="SAVE" class="classsubmit" />
             </td>
        </form>
       </tr>
    </table>

ここまでは順調ですね。では、2 番目のフォームを挿入してエントリを削除するにはどうすればよいでしょうか? このコードを配置しようとしました (2 番目のフォームのプレースホルダー - 上記を参照)

<td>
<form id="form2" action="" method="POST">
       <input type="text" value="<?php echo $var_id;?>" 
</form>
</td>

しかし、それは機能しておらず、フォームをネストすることは許可されていません。

助言がありますか?

4

1 に答える 1

0

ページまたはデータベースのエントリのみを削除する場合は、onclick 関数を使用してボタンまたはスパンを試すことができます。例えば:

    <span onclick="window.location='?delete=<?php echo $row[(unique-value-in-database-from-this-row)]; ?>'; return false">Delete entry</span>

return false を必ず追加してください。そうしないと、最初のフォームが送信されます。ボタンを使用する場合は、 type="button" であることを確認してください

このページには、次のような PHP コードが含まれている可能性があります。

   if(isset($_GET['delete']))
   {
      $item = $_GET['delete'];
   //SQL connect
      $result = mysql_query($conection ,"DELETE FROM table WHERE uniquevalue='$item'");
   }

解決策のアイデアが得られることを願っています。

于 2013-10-30T15:35:23.183 に答える