表单输入类型php

时间:2017-04-09 21:41:58

标签: php html forms types

我想创建一个表格,其中列生成问题(nom),另一个生成响应类型(类型),可以是(文本,日期,复选框,无线电等...),我能够生成问题但是我无法确定类型。 我真的很难将我的champs表中的type列用作表单中输入类型的变量。enter image description here

非常感谢任何帮助

在这里澄清更多我的代码:

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>';
	}
	
}


?>		

?>		

2 个答案:

答案 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>';
}