php - 使用数据库中的值和列名动态创建输入字段

标签 php mysql arrays

我使用列中的信息创建输入,例如,如果一个字段称为 about_content,它会输出带有输入字段的关于内容标签。这适用于插入,但是我想使用类似于 UPDATE 的代码,并且我想向用户显示在数据库中输入的字段的当前值。例如,如果 about_content = Hello World! 我希望输入值反射(reflect)这一点。有没有办法动态地做到这一点?

<?php

require('dbc.php');

mysql_select_db($db);
$resultInput = mysql_query("SHOW COLUMNS FROM about WHERE Field NOT IN 
('id', 'created', 'date_modified', 'last_modified', 'update', 'type', 'bodytext') 
AND Field NOT REGEXP '_image'"); // selects only the columns I want

$result = mysql_query("SELECT * FROM about WHERE id=".$_GET['id']); // values I want to put into the values for <input>

while ($row = mysql_fetch_assoc ($result) && $column = mysql_num_rows ($resultInput)) {

    foreach($row as $column => $value){
        echo '<label>'.$column.'<input name="'.$column.'" type="input" value="'.$value.'"></label><br>';
    }
}
?>

最佳答案

看到你用箭头标记的地方了吗?而不是字符串 (1) , 设置 value到您在 $result 中读取的适当数据库值(不在 $resultInput 中)。

方法如下:使用 mysql_fetch_assoc为你的 SELECT查询,不是 mysql_fetch_row .只有一行,因此请在开始生成表单之前获取它。然后您将拥有一个包含行值的命名数组,您可以按名称获取每个字段并将其放入表单中。

如果您不明白该怎么做,请查看 mysql_fetch_assoc 的 php 文档.

然后逃离你的$_GET['id']就像你在上一个问题中被告知的那样。你在乞求被打败!

关于php - 使用数据库中的值和列名动态创建输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11283191/

相关文章:

javascript - 使用 phpl 在 mysql 的列中输入相同值时显示警报

php - 返回匿名函数

mysql - SQL - 选择其列不遵循相同顺序的记录

java - 使用多个数组列表或带有 stringtokenizer 的数组在 java 中编写解释器

python - 有效读取二维数组中另一个值周围的值?

具有动态值的 PHP 数组,其中包含稍后从 mysql 表构建选项值的项目列表

php - 如何 : Non-Facebook-Users post to Facebook page wall

javascript - 使用 php 脚本创建的 AJAX 返回文件

php - MySQL/PHP,ForEach 循环缓慢

MySQL 从映射字段中选择