2017-05-26 50 views
0

我是编程中的新手。我想通过使用一个FORM将数据发送到多个表中,但并非每个表都只是将我的选定表更新为数据。 它类似于当我选择一个选项,它会发送仅此表中没有其他人有一个选项,我不知道它是一个正确的方法还是错了,请帮我...我想从一个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> 
+0

你是如何得到这个选项的?来自哪里? – Exprator

+0

从选择标记选项 –

+0

但我能看到的是你正在存储一个字符串sel数据在$ sel_data中。如果匹配$ sel_data == 1,如果它的字符串是什么? – Exprator

回答

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> 
0

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

0

EDITED
嘿你试过elseif吗?而且我认为唯一的错误的东西是你的结构

<?php 
        if(!empty($_POST)){ 
         $title=$_POST['title']; 
         $sel_data=$_POST['sel_data']; // you need to call the value of the select 
         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"; 
          } 
         } 


         elseif($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"; 
           } 
          } 

         elseif($sel_data == 3){ 
          $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"; 
           } 
          } 

         else { 
          echo"failed"; 
         } 
        } 
+0

感谢他的工作,但查询应该在条件之内,因为它与我的表是不同的 –

+0

编辑它bro lol im a女孩寿:) –

+0

你可能检查我,如果它的作品或可能投票了感谢:) –

1

使用

你的数据库选择表 “选择表名 FROM 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"; 
       } 
      } 
     ?> 

通过使用上面的代码输入的标题只会插入到选定的表中。

相关问题