Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用HTML选项从MySQL插入和选择多个表_Php_Mysql_Sql_Options - Fatal编程技术网

Php 使用HTML选项从MySQL插入和选择多个表

Php 使用HTML选项从MySQL插入和选择多个表,php,mysql,sql,options,Php,Mysql,Sql,Options,类别 电子 杂项 免费的东西 寻找 电器 名字 描述 我的数据库看起来像这样。。。 表\u自由名称、日期、消息 表\u电气名称、日期、信息 表\u杂项名称、日期、消息 表\u应用程序名称、日期、消息 表\u Iso-名称、日期、消息 这是我正在努力工作的表格。我想从“选择”选项中选择一个表,然后将信息插入数据库中的特定表中。 现在我可以将信息存储并回显到一个表中,但我对PhP和MySQL非常陌生。我找遍了,但是找不出来。。。任何帮助都是有用的。 我希望结果是在下拉菜单中选择表,然后所有信

类别


电子
杂项

免费的东西
寻找
电器
名字


描述


我的数据库看起来像这样。。。 表\u自由名称、日期、消息
表\u电气名称、日期、信息
表\u杂项名称、日期、消息
表\u应用程序名称、日期、消息
表\u Iso-名称、日期、消息

这是我正在努力工作的表格。我想从“选择”选项中选择一个表,然后将信息插入数据库中的特定表中。 现在我可以将信息存储并回显到一个表中,但我对PhP和MySQL非常陌生。我找遍了,但是找不出来。。。任何帮助都是有用的。 我希望结果是在下拉菜单中选择表,然后所有信息都存储在下拉菜单中选择的表中

下面是我的php im,用于将信息发送到一个表

 <form action="postad1.php" method="post">
 <p>Category</p>         
 <select name="categories">
 <option name="" value=""><br></option>
    <option name="Electronics" value="Electronics">Electronics<br></option>
    <option name="Misc" value="Misc">Miscellaneous<br><br></option>
    <option name="Free" value="Free">Free Stuff<br></option>
    <option name="ISO" value="ISO">Looking For<br></option>
    <option name="Appliances" value="Appliances">Appliances<br></option>
    </select>

 <p>Name</p>
 <input type="text" name="Name"><br>
 <p>Descriptiom</p>
    <textarea type="text" name="Message" cols="40" rows="5" ></textarea><br>
    <input type="date" name="date">
    <input type="submit">
    </form>

您只需要将表名作为变量传递,就像其他两个字段一样

大概是这样的:

 <?php

 $Name = mysqli_real_escape_string($con, $_POST['Name']);
 $Message = mysqli_real_escape_string($con, $_POST['Message']);
 $sql="INSERT INTO Free (Name, Message)
 VALUES ('Name', 'Message')";
 if (!mysqli_query($con,$sql)) {
     die('Error: ' . mysqli_error($con));
  } 

  echo "<br>$Name <br> $Message <br> was added to the database."; 
  echo '<br>Check your post 
  <a href="#">here</a>';
  mysqli_close($con);
  ?>
这会让事情变得明朗一点吗?

试试这个:

$table = mysqli_real_escape_string($con, $_POST['categories']);
$Name = mysqli_real_escape_string($con, $_POST['Name']);
$Message = mysqli_real_escape_string($con, $_POST['Message']);
$sql="INSERT INTO `{$table}` (Name, Message)
VALUES ('{$name}', '{$Message}')";

实现这一点的最简单方法是更改HTML中选项的值以匹配表名

例如:将value=“Electronics”更改为:value=“table\u Elec-Name”

确保编写一些代码以防止提交空选项,因为您有: html中的选项名称=“值=”“”

现在,在php端,获取选项的发布值并将其存储到变量中。 $mytable=$\u POST['categories']

现在将sql更改为:

<?php

$Name = mysqli_real_escape_string($con, $_POST['Name']);
$Message = mysqli_real_escape_string($con, $_POST['Message']);

if(isset($_POST['categories']) && $_POST['categories'] == "")
{
    $sql = "";
    switch($_POST['categories'])
    {
        case "Electronics":
            $sql = "INSERT INTO Elec (Name, Message) VALUES ('$Name', '$Message')";
            break;
        case "Misc":
            $sql = "INSERT INTO Misc (Name, Message) VALUES ('$Name', '$Message')";
            break;
        case "Free":
            $sql = "INSERT INTO Free (Name, Message) VALUES ('$Name', '$Message')";
            break;
        case "ISO":
            $sql = "INSERT INTO Iso (Name, Message) VALUES ('$Name', '$Message')";
            break;
        case "Appliances":
            $sql = "INSERT INTO Appl (Name, Message) VALUES ('$Name', '$Message')";
            break;
    }

    if (!mysqli_query($con,$sql)) {
        die('Error: ' . mysqli_error($con));
    }

    echo "<br>$Name <br> $Message <br> was added to the database.";
    echo '<br>Check your post  <a href="#">here</a>';
    mysqli_close($con);
}
?>

应该没问题。

我试试看。如果是这么简单,我会很生气的。在过去的11个小时里我一直在搞这个哈哈。会让你知道的,谢谢!似乎很成功,只是还没有看到数据库中的信息。我再给它10分钟左右。谢谢很高兴你成功了!请随时询问您是否需要更多帮助其他人的脚本工作完美。我想了一下,但是我没有输入变量什么的。谢谢你的帮助!你也是对的。我不知道如何在空选项lol上编写代码。我知道它将需要它,但我需要做一些研究
$sql="INSERT INTO `".$mytable."` (Name, Message)
 VALUES ('Name', 'Message')";