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这样的结果: Array ( [1] => 40 [2] => 7 ),你看我[1] => 40从问题 #1 中只得到 C,它的问题 id 作为键,这是最后一个来自问题#1的一个。我没有从问题 nr 1 中得到 A 和 B 只有 C。我的意思是 [1] 是问题 id 并且 =>40 是alternative_id 但是问题 #1 的最后一个选择的替代方案。我从问题 #2 中得到 C [2] => 7 ,这是问题 #2 中最后选择的问题 ID。

我的目标是这样的:我的问题表中有一个名为 alt_id 的列。我的问题表如下所示: Q_id, question,alt_id

让我们问一下您选择 A、B 和 C 女巫的替代 id 是 10、30、40 现在我想用 implode() 用逗号收集它们并将它们写为 10、30、40 并将它们放在问题 id 行中的列 alt_id 中编号 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 回答