【发布时间】:2018-08-26 21:32:38
【问题描述】:
我正在使用这个简单的代码根据表列字段名称生成动态表单输入:
<form id="generate-user-register-form" type="POST">
<?php
$queryuser= "DESCRIBE users";
$resultstmt_queryuser= $conn->query($queryuser);
$fields = array();
while($row = $resultstmt_queryuser->fetch_assoc()) {
$fields[] = $row['Field'];
}
foreach($fields as $field): ?>
<div class="col-md-6">
<?php echo "$field: "; ?>
<input class="form-control" type="text" name="<?php echo $field; ?>" />
</div>
<?php endforeach; ?>
<input type="button" name="submit" value="submit"/>
</form>
好的,这很好用,但前 10 个字段是不必要的,第一列 id 是自动增量的,因此绝对不需要它作为表单输入。有没有办法让我只生成特定字段而不必手动硬编码类似下面的代码 10 次?
if($field !="id"){
//generate input
}
【问题讨论】:
-
您如何知道要使用哪些列名?另一个表格列出应该是表单字段并查询的表格怎么样?
-
而不是
foreach使用for循环并从10 开始计数器?如果您正在构建一个隔离系统,只需按照它应该的外观构建表单并进行您想要的输入。如果您正在构建一个框架,也许将系统字段和用户可维护的字段保存在单独的相关表中? -
您可以在
foreach()中使用计数器,这不是一个非常强大的解决方案,如果您必须在表格中添加或删除,或者更改表格中的位置.. -
@IdontDownVote:我会将此作为答案。作品。我一定是太煎熬了,根本没想到。