我想将数据插入到具有动态字段名称的表中。我的脚本列出了需要与数据一起插入的所有列名。我希望将动态字段的用户输入插入到表中。例如,在字段Car
下,数据为1
,Boat
数据为0
。以下是我的脚本:
<?php
$connect=mysql_connect('localhost','root','');
$db_select=mysql_select_db('db_run',$connect);
$sql="SELECT column_name FROM information_schema.columns WHERE table_schema = 'db_run' AND table_name = 'run';";
$sql_query=mysql_query($sql);
$runfields=array();
while($rows=mysql_fetch_assoc($sql_query)){
$rows['column_name']."<br>";
$runfields[]=$rows['column_name'];
}
echo '<pre>';
print_r($runfields);
echo '</pre>';
$cntrunfields=count($runfields);
for($c=2;$c<$cntrunfields;$c++){
echo $run=$runfields[$c].'<br>';
echo $results=$_POST[$run];
echo "<form action='' method='post'>";
echo "<select name='$runfields[$c]' id='$runfields[$c]'>
<option value='-1'>Select option</option>
<option value='0'>No</option>
<option value='1'>Yes</option>
</select>";
echo "<input type=\"submit\" name=\"sss\" id=\"sss\" value=\"Submit\" />" ;
echo "</form>";
echo '<br>';
echo $runfields[$c].' is equal to '.$results.'<br>';
}
?>
如果我的表有3个列名,我的表单应该显示3个新的选择表单标签,并且能够在表中提交。如本节所示。
echo "<form action='' method='post'>";
echo "<select name='$runfields[$c]' id='$runfields[$c]'>
<option value='-1'>Select option</option>
<option value='0'>No</option>
<option value='1'>Yes</option>
</select>";
echo "<input type=\"submit\" name=\"sss\" id=\"sss\" value=\"Submit\" />" ;
echo "</form>";
答案 0 :(得分:0)
在新字段中添加新记录
如果要在尚不存在的字段中添加新记录,则需要两个语句,一个用于更改表结构(ALTER TABLE yourTable ADD...
),另一个用于添加新数据({{1 }})。
我必须承认,我会鼓励你动态添加列:我不太确定这是一个好主意,听起来像是一个糟糕的数据库设计。