我想创建一个表格,其中列生成问题(nom),另一个生成响应类型(类型),可以是(文本,日期,复选框,无线电等...),我能够生成问题但是我无法确定类型。 我真的很难将我的champs表中的type列用作表单中输入类型的变量。
非常感谢任何帮助
在这里澄清更多我的代码:
ChampsModel.php
<?php
require_once("../config/database.php");
function Champsbyqid($qid){
$c = Database :: connect();
$results = array();
$q = $c -> prepare ("SELECT nom FROM champs WHERE qid=?") ;
$q -> execute (array($qid));
while ($data = $q -> fetch()) {
$results[] = $data;
}
Database :: disconnect();
return $results;
}
function getType($qid){
$c = Database :: connect();
$results = array();
$q = $c -> prepare ("SELECT type FROM champs WHERE qid=?") ;
$q -> execute (array($qid));
while ($data = $q -> fetch()) {
$results[] = $data;
}
Database :: disconnect();
return $results;
}
?>
ChampsController.php
<?php
require_once("../model/champsModel.php");
$champs = Champsbyqid(1);
$type = getType(1);
?>
Champs.php
<?php
require_once("../controller/champsController.php");
foreach ($champs as $value) {
foreach ($types as $val) {
echo $value['nom'].'<form method="POST"><input type='$val['type']'></form>';
}
}
?>
?>
答案 0 :(得分:1)
你想要SELECT * FROM WHERE qid = ORDER BY ordre; &lt; - 这是一种假定为订单的类型吗?将行作为关联数组获取,在变量中,让我们说$ value。然后,
<form method="" action="">
while (there are rows) {
echo $value["nom"].'<input type="'.$value["type"].'"
name="whatever"><br />';
}
</form>
厌倦了编程语言中的保留字。有些词你不能用作变量。
答案 1 :(得分:1)
您为每个检索到的类型重复生成每个问题,您不需要第二个foreach
循环。我还建议使用单个查询来获取这两个值,然后您可以简单地使用$value['nom']
和$value['type']
。但是如果你需要将它们分开,只需使用
for ($i = 0; $i < count($champs); $i++) {
echo $champs[$i]['nom'].'<form method="POST"><input type='$type[$i]['type']'></form>';
}