Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 打印问题及其选择的查询_Php_Mysql - Fatal编程技术网

Php 打印问题及其选择的查询

Php 打印问题及其选择的查询,php,mysql,Php,Mysql,我正在用PHP+MySQL做一个调查/多项选择题。到目前为止,我已经创建了两个表格:问题和选择。每个问题都有一个唯一的主键问题id,每个选项都有一个外键问题id 我想打印所有问题及其相应选项的列表。我的PHP有点生疏,所以我记不起正确的方法。我是否只是运行一个查询来选择所有问题,然后运行一个查询来选择每个问题的选项?或者可以通过一个查询完成吗?您需要执行一个查询 一些psuedo SQL: select * from (Select question_id, question_text from

我正在用PHP+MySQL做一个调查/多项选择题。到目前为止,我已经创建了两个表格:问题和选择。每个问题都有一个唯一的主键问题id,每个选项都有一个外键问题id

我想打印所有问题及其相应选项的列表。我的PHP有点生疏,所以我记不起正确的方法。我是否只是运行一个查询来选择所有问题,然后运行一个查询来选择每个问题的选项?或者可以通过一个查询完成吗?

您需要执行一个查询

一些psuedo SQL:

select * from
(Select question_id, question_text from table_questions) questions
join
(Select parent_question_id, choice_text from table_choices) choices
on
questions.question_id=choices.parent_question_id
您必须根据您的设置更改上述内容-您可能还需要不同的设置

在PHP中连接到数据库后,可以按如下方式运行结果:

$sql="select * from
(Select question_id, question_text from table_questions) questions
join
(Select parent_question_id, choice_text from table_choices) choices
on
questions.question_id=choices.parent_question_id";

$result=mysql_query($sql);

while ($db_field = mysql_fetch_assoc($result)) {
  $question_and_answers[$db_field['question_text']][]=$db_field['choice_text'];
}

print_r($question_and_answers);

这将输出/创建一个问题数组,其中包含子数组的选项。

以下查询应返回所有问题:

使用(问题id)从问题中选择问题*、选项*

然后对结果进行迭代,例如,将选项上所有必要的数据复制到由问题id键入的数组中;然后使用此数据结构构建表单小部件等


不确定这是否是你想要的——在不知道自己陷入困境的情况下,很难提供更有用的回答

答案是怎么回事?我只想把问题打印成可能的选项,因为这是一个多项选择题。@Matt,请看修订版