2

わかりました、皆さん、

REMOVE または PUSH ボタンとともにデータベース テーブルの内容を表示しようとしています。REMOVE ボタンは、その項目をデータベースから削除します。PUSH ボタンはアイテムを別のデータベースにプッシュし、プッシュされた変数を true に設定してフラグを立てます。

REMOVE ボタンと PUSH ボタンと共にデータベース内の各項目をエコーする while ループと接続があります。エコーは次のようになります。

echo '<form method='post' name='$ID' action='$_PHP_SELF'>
    <tr>
        <td width='5%' align='center'>$ID</td>
        <td width='75%'>$content</td>
        <td width='10%' align='center'><input type='submit' name='remove' id='remove' value='REMOVE'></td>
        <td width='10%' align='center'><input type='submit' name='push' id='push' value='PUSH'></td>
    </tr>
</form>';

私が直面している問題は、フォームをチェックしてその特定のアイテムをプッシュまたは削除する単純な送信コードを設定する方法です。If/Else または Switch ステートメントは機能しません。これは、多数のデータベース エントリが予想され、サブミット コード自体も動的にする必要があるためです。

私は始めました:

if(isset($_POST['push'])){
 echo "PUSH ".$ID." TO DATABASE";
}

if(isset($_POST['remove'])){
 echo "REMOVE ".$ID." FROM DATABASE";
}

ただし、これらは両方とも最後の $ID 変数のみを返しています。

前もって感謝します。

4

3 に答える 3

2

関連する各行を、独自の2つのプッシュボタンを使用して独自のフォームにします。それらはすべて同じページに送信できます。また、フォーム名としてではなく、IDを非表示フィールドに保持します(サーバー側を確認します)。

于 2012-04-11T02:29:00.813 に答える
2

簡単な解決策は、HTML出力を2つのフォームに変更し、それぞれに1つの送信を行うことです。PHPをまったく同じに保つことができます。

編集:押されたボタンのIDを動的に取得するには、次のように、IDを含む非表示のデータフィールドを追加します。

<tr>
    <td width='5%' align='center'>$ID</td>
    <td width='75%'>$content</td>
    <td width='10%' align='center'>
        <form method='post' action='$_PHP_SELF'>
            <input type='hidden' value='$ID' name='id'>
            <input type='submit' name='remove' id='remove' value='REMOVE'>
            </form>
    </td>
    <td width='10%' align='center'>
        <form method='post' name='$ID' action='$_PHP_SELF'>
            <input type='hidden' value='$ID' name='id'>
            <input type='submit' name='push' id='push' value='PUSH'>
        </form>
    </td>
</tr>

次に、PHPは次のよ​​うになります。

$ID=mysql_real_escape_string($_POST['id']); //Encapsulate in this function to prevent bad IDs causing SQL injections.
if(isset($_POST['push'])){
 echo "PUSH ".$ID." TO DATABASE";
}

if(isset($_POST['remove'])){
 echo "REMOVE ".$ID." FROM DATABASE";
}
于 2012-04-11T02:29:57.830 に答える
0

このチュートリアルに従って、チェックボックス システムと php プロセッサを作成します。 PHP チェックボックス

2 つの方法のいずれかを行うことができます。ユーザーが 1 つのリンクで一度に複数のアイテムを削除できるようにするには、次のようにします。

チェックボックスを使用して、ユーザーが必要な数の行を選択できるようにします。次に、「削除」または「プッシュ」ボタンを押して、各行を処理する別のページに送信します。

もう 1 つの方法は、一度に 1 つの行を削除またはプッシュする各行の横に REMOVE および PUSH ボタンを配置することです。最初のアプローチをお勧めします。そのガイドに従えば、かなり簡単です。

于 2012-04-11T02:33:14.890 に答える