2012-10-11 5 views
1

입력 한 행 및 열 수의 테이블을 만드는 양식을 만들었습니다. 입력 된 필드 테이블을 데이터베이스에 만들고 해당 값을 데이터베이스 테이블에 저장하려고합니다. 내가 사용해야하는 것을 안내해주십시오.MySQL에서 런타임에 테이블을 만들고 데이터베이스에 저장하는 방법

내 코드 : 테이블을 생성하면 서버에 대해 SQL 문을 실행입니다 :

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

당신이 질문에 대답하기 위해.

사용자 입력을 기반으로 한 테이블을 만드는 것이 나쁜 디자인이라는 전략을 재고해야합니다.

관련 문제