我想从一个FORM将数据发送到许多表中,但我选择的表不是其他表

时间:2017-05-26 06:24:46

标签: php mysql

我是编程新手。我想通过使用一个FORM将数据发送到多个表但不是每个表只是我的选定表将更新数据。 它类似于我选择一个选项它只会发送这个表而不是其他选项,我不知道这是一个正确的方法还是错的请帮助我...

    <div class="row">
        <div class="data-store text-center">
            <?php
                add_part('admin-menu.php');
            ?>
            <?php
                if(!empty($_POST)){
                    $title=$_POST['title'];
                    $sel_data='sel_data';
                    if($sel_data == 1){
                        $insert="INSERT INTO `database`.`gfx` (`gfx_id`, `gfx_title`) VALUES (NULL, '$title');";
                        if(mysqli_query($con,$insert)){
                            echo "Product has been uploaded";
                        }

                    }else{
                        echo "Failed to store data";
                    }

                    if($sel_data == 2){
                        $insert="INSERT INTO `database`.`gfx` (`gfx_id`, `gfx_title`) VALUES (NULL, '$title');";
                        if(mysqli_query($con,$insert)){
                            echo "Product has been uploaded";
                        }

                    }else{
                        echo "Failed to store data";
                    }



                }
            ?>

            <form action="" method="post" enctype="multipart/form-data">
                <div>
                    <label for="title"></label>
                    <input name="title" id="title" type="text" placeholder="post title"/> 
                </div>

                <select name="sel_data" id="">
                    <option name="" >Select one</option>
                    <option name="table1" value="1">Option 1</option>
                    <option name="table2" value="2">Option 2</option>
                    <option name="table3" value="3">Option 3</option>
                </select>

                <input type="submit" value="submit" />
            </form>
        </div>
    </div>

4 个答案:

答案 0 :(得分:1)

使用

从数据库中选择表格

“SELECT table_name     来自information_schema.tables     WHERE table_schema ='your_database_name'   “

使用结果数组使用foreach生成选项。 然后,您应该将表的名称作为值,而不是为选项提供整数值。之后您可以将代码更改为

        <?php
            if(!empty($_POST)){
                $title = $_POST['title'];
                $sel_data = $_POST['sel_data'];
                $insert="INSERT INTO `database`.`.$sel_data.` (`gfx_id`, `gfx_title`) VALUES (NULL, '$title');";
                if(mysqli_query($con,$insert)){
                  echo "Product has been uploaded";
                }else{
                  echo "Failed to store data";
                }
             }
        ?>

通过使用上面的代码,输入的标题将仅插入到选定的表格中。

答案 1 :(得分:0)

如果所有表格具有相同的结构,您可以像这样优化代码。

<?php
if (!empty($_POST)) {
    $title = $_POST['title'];
    $sel_data = $_POST['sel_data'];
    if (!empty($sel_data)) {
        $insert = "INSERT INTO $sel_data.`gfx` (`gfx_id`, `gfx_title`) VALUES (NULL, '$title');";
        if (mysqli_query($con, $insert)) {
            echo "Product has been uploaded";
        }
    } else {
        echo "Failed to store data";
    }
}
?>

<div class="row">
    <div class="data-store text-center">
<?php
add_part('admin-menu.php');
?>           

        <form action="" method="post" enctype="multipart/form-data">
            <div>
                <label for="title"></label>
                <input name="title" id="title" type="text" placeholder="post title"/> 
            </div>

            <select name="sel_data" id="">
                <option  value="" >Select one</option>
                <option  value="table1">Option 1</option>
                <option  value="table2">Option 2</option>
                <option  value="table3">Option 3</option>
            </select>

            <input type="submit" value="submit" />
        </form>
    </div>
</div>

答案 2 :(得分:0)

使用$ sel_data = $ _ POST ['sel_data']而不是$ sel_data ='sel_data';

答案 3 :(得分:0)

<强> EDITED
       嘿,你试过了吗?而且我认为唯一错误的是你的结构

html5