2017-05-26 22 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"; 
       } 
      } 
     ?> 

通過使用上面的代碼輸入的標題只會插入到選定的表中。

相關問題