2012-10-11 26 views
1

我創建了一個表單,該表單使用輸入的行數和列數在表單上創建表。我想創建輸入的字段表到數據庫中,並將其值保存到數據庫表中。指導我應該使用什麼。如何在運行時在MySQL中創建表並將其保存到數據庫中

我的代碼:

<?php 
    global $Host; 
    global $Username; 
    global $password; 
    global $database; 
    function getConnection() 
    { 
     $Host = "localhost"; 
     $Username = "root"; 
     $password = ""; 
     $database = "labdata"; 

     $oMysqli = new mysqli($Host,$Username,$password,$database); 
     return($oMysqli); 
    } 
    ?> 
    <html> 
    <head> 
    <title>aa</title> 
    </head> 
    <body> 
     <form name="report Creation" method="post"> 
          <label for='Table'>Define Table</label> 

          <label for='column'>Row</label> 
          <input type="text" name="column"></input> 

          <label for='rows'>Column</label> 
          <input type="text" name="rows"></input> 

      <input type="submit" name="submit" value="submit"> 
    </form> 
    </body> 
    </html>  
    <?php 
     function displayData($column,$rows)    
     {  
      echo "<table border='1' align='center'>";   
      for($i = 0;$i<$_POST['column'];$i++)  
      { 
       echo "<tr>".$i."</tr>";        
       for($j = 0; $j <$_POST['rows'];$j++)   
       { 
       echo "<td>" ."<input type=\"text\" name='column_$i[$j]'>"."</td>"; 
       } 
      } 
      echo "</table>"; 
     echo "<form>"; 
     echo "<input type=\"submit\" name=\"ok\" value=\"ok\">"; 
     echo "</form>"; 
     //function displaydata($column = NULL) {if($id == NULL) Event::run('system.52');} 
     } 

    if(isset($_POST['submit']))displaydata();// Show data INSIDE form 
    { 
    $query = "CREATE TABLE Cars('$columns[$j]')"; 
    $oMysqli = getConnection(); 
    $oMysqli->query($query); 
    $Insert = "INSERT INTO Cars(Id,column[$j]) VALUES($Id,$column)"; 
    $oMysqli = getConnection(); 
    $oMysqli->query($Insert); 

    if(isset($_POST['ok'])) 
    { 
     $plength = count($_POST['column']); 
     for($j=0;$j<$plength;$j++) 
     { 

     $b = $_POST['column'][$j]; 
     $pa = array('column' => $b['column']); 
     foreach($pa as $l => $m) 
     { 
      $pa[$l] = mysql_real_escape_string($m); 
     } 
          $columns = $pa['column']; 
          $columns = $_POST['column'][$j];       

         for($n=0;$n<$columns;$n++) 
         { 
           $x= $_POST['column'][$j]; 
           $ab = array('column' => $c['column']); 
           foreach($t as $u => $n) 
           { 
           $ab[$u] = mysql_real_escape_string($n);        
           } 
           $columns = $ab['column']; 
           $columns = $_POST['column'][$j]; 
         } 

     } 
    } 
     if($result = $mysqli->query($Insert)) 
      { 
      $k=0; 
      $column = explode(",",$_POST['columns']); 
         foreach($column as $c) 
        { 
         echo "<td><b>$c</b></td>\r\n"; 
        } 
       echo "</tr>"; 
      } 
     } 
    ?> 
+0

探索phpMyAdmin的源代碼? – Prasanth

+0

我希望你沒有按照上面的方式存儲你的連接信息,請把它放在你的文檔根目錄之外的某個地方 – allen213

回答

2

要回答你的問題:創建表是執行對服務器的SQL語句。

您應該重新考慮您的策略,根據用戶輸入創建表格就是糟糕的設計。

相關問題