1

$alt選択した代替IDの値です。それらを取得し $_GET['alternative'];、[alternative]はチェックボックスの名前です。

<input type="checkbox" name="alternative['.$row_q['question_id'].']" value="'.$row['alternative_id'].'">'.$row['alternative'].'</input>

だから私は書くことによって価値を得る

$alt = $_GET['alternative']; in another page.<br>

問題は:

たとえば、質問1からA、B、Cを選択し、質問2からB、Cを選択した場合、次のprint_rよう になります。、質問IDをキーとして使用して、質問#1からArray ( [1] => 40 [2] => 7 )Cのみを取得します。これが最後です。[1] => 40質問1から1つ。質問nr1からAとBのみを取得しません。つまり、[1]は質問IDであり、=> 40はalternative_idですが、質問#1で選択された選択肢の最後の1つです。[2] => 7 そして、質問IDで質問#2の最後に選択された質問#2からCを取得します。

私のターゲットは次のとおりです。質問テーブルにalt_idという名前の列があります。私の質問の表は次のようになります :Q_id、、questionalt_id

A、B、Cを選択したnrに質問しましょう。代替IDは10、30、40です。ここで、implode()を使用してコンマで収集し、10、30、40と記述して、質問IDの行のalt_id列に配置します。 nr 1

Q_id       question                                            alt_id
1          Chose some equation to get 20                       10,30,40
2          What's a synonym of handsome?                       60,7
3          .................................................   89,6,50,30 

こんな感じで欲しい

ARRAY([1]=>10,30,40  [2]=>60,7  [3]=>89,6,50,30)

次に、このように質問テーブルを更新したい(もちろんalt_id最初からNULLです)

    foreach($alt AS $key=>$alternativ){
    $query = 'UPDATE question SET alt_id = '.alternative.'  WHERE q_id  = '.$key.' ';
    $result = mysql_query($query);  
    }

だから私の問題はどうすればこのようにそれらを得ることができるかですARRAY([1]=>10,30,40 [2]=>60,7 [3]=>89,6,50,30 and so on….

4

1 に答える 1

0

HTMLコードでは、次のように、PHP配列の追加メンバーであるかのように各チェックボックスに名前を付ける必要があります。

<input type="checkbox" name="alternative[]" value="10" />A <br />
<input type="checkbox" name="alternative[]" value="20" />B <br />
<input type="checkbox" name="alternative[]" value="30" />C <br />

次に、PHPでは:

$alternatives = implode(' ',$_GET['alternative']);

編集:あなたは配列の配列をしたいかもしれません:

<input type="checkbox" name="alternativeA[][]" value="10" />A1 <br />
<input type="checkbox" name="alternativeA[][]" value="20" />B1 <br />
<input type="checkbox" name="alternativeA[][]" value="30" />C1 <br />

<input type="checkbox" name="alternativeB[][]" value="40" />A2 <br />
<input type="checkbox" name="alternativeB[][]" value="50" />B2 <br />
<input type="checkbox" name="alternativeB[][]" value="60" />C2 <br />

<input type="checkbox" name="alternativeC[][]" value="70" />A3 <br />
<input type="checkbox" name="alternativeC[][]" value="80" />B3 <br />
<input type="checkbox" name="alternativeC[][]" value="90" />C3 <br />
于 2012-07-18T10:25:20.473 に答える