【问题标题】:Dynamic column names php mysql动态列名 php mysql
【发布时间】:2013-01-04 09:36:03
【问题描述】:

我想将数据插入到具有动态字段名称的表中。我的脚本列出了所有需要插入数据的列名。我希望将动态字段的用户输入插入表中。例如,在字段Car 下,数据为1Boat 数据为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>";

【问题讨论】:

  • 您必须将您的应用程序升级到 mysqli_*。此外,你的问题是什么?对不起。
  • 我真的不明白你的问题......你想做什么?动态地将新字段(列)添加到您的表中?或者你只是添加新记录?请澄清。
  • 在新字段中添加新记录
  • 我已经解释得更详细了,希望您能提供帮助。

标签: php mysql field


【解决方案1】:

在新字段中添加新记录

如果要在尚不存在的字段中添加新记录,则需要两条语句,一条用于更改表结构(ALTER TABLE yourTable ADD...),一条用于添加新数据(INSERT INTO yourTable ...)。

我不得不承认,我不鼓励您动态添加列:我不太确定这是一个好主意,而且这听起来像是一个糟糕的数据库设计。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多