1

私の英語でごめんなさい!私は1つの質問と4つの回答を持つ投票システムを持っています:

Answer_id   Question_id   answers     vote
   10           1           ball        1
   11           1           radio       3
   12           1           tv          5
   13           1           car         8

投票を使用して投票するユーザーの回答を入力するための入力テキストが 4 つあります。

<input type="text" name="ans1" id="ans1"/>
<input type="text" name="ans2" id="ans2"/>
<input type="text" name="ans3" id="ans3"/>
<input type="text" name="ans4" id="ans4"/>

回答を更新したい場合、どうすればクエリできますか? 私の質問に答えてくれてありがとう:D

4

2 に答える 2

1

フォームタグ内に送信ボタンとともにすべての入力を含める必要があります。また、フォームタグ内に、質問のIDを値として含む非表示の入力があります。送信をクリックすると、非表示の入力を含むすべての入力が投稿されます。処理ページ (フォーム アクション ページ) で、非表示の入力の値を取得します (これは、クエリの where 句で必要になります)。次に、以下の方法で更新クエリを記述します。

すべての質問に 1 つの回答しかないため、4 つの回答すべてを更新する必要はありませんが、回答は 1 つだけです。テーブル名が質問であると仮定します。

$ans1 = $_POST['ans1'];
$ans2 = $_POST['ans2'];
$ans3 = $_POST['ans3'];
$ans4 = $_POST['ans4'];

if(!empty($ans1))$answer = $ans1;
else if(!empty($ans2))$answer = $ans2;
else if(!empty($ans3))$answer = $ans3;
else if(!empty($ans4))$answer = $ans4;
$id = $_POST['id']; //This is coming from the hidden input box
$updateSQL = mysql_query("UPDATE questions SET answers = '$answer' WHERE Question_id= '$id');

また、ユーザーが 4 つの回答すべてを JavaScript で入力していないかどうかを確認できるとよいでしょう。挿入クエリではなく、更新クエリが必要ですか? これはjquery(ajaxed way)でも実行できますが、どのように実行したいかについては言及していません。

于 2012-10-25T05:33:11.423 に答える
0

入力テキスト フィールドの id で、テーブルのプライマリ キー (AnswerId) + sometext で書き換えます。回答を保存または更新すると、クエリは次のようになります。

update table set answers    =$$text where answerId =AnswerId(id of the input text)
于 2012-10-25T05:27:05.603 に答える