2012-10-02 54 views
0

我創建一個表單,當我輸入行數&列則該行數&列的表格,就可以產生我想保存進入該表到database.Please任何值可以幫助我..我 PHP代碼:如何運行時創建的表中的值保存到數據庫

<?php 
    global $Hostname; 
    global $Username; 
    global $Password;   
    global $Database_name; 
function getConnection()  
{ 
    $Hostname = "localhost";  
    $Username ="root"; 
    $Password =""; 
    $Database_name="labdata"; 

    $oMysqli = new mysqli($Hostname,$Username,$Password,$Database_name); 
    return($oMysqli); 
} 
if(isset($_POST['submit'])) 
{  
    echo "<table border='1' align='center'>";   
    for($iii = 0;$iii <$_POST['column'];$iii++)   
    {    
     echo "<tr>".$jjj."</tr>";       
     for($jjj = 0; $jjj <$_POST['rows'];$jjj++) //loop for display no. of rows. 
     { 
      echo "<td>" ."<input type=\"text\" name='$iii'>"."</td>"; 
     } 
    } 
    echo "</table>"; 
    echo"<form name=\"aa\" method=\"post\">"; 
    echo "<input type=\"submit\" name=\"save\" value=\"save\">"; 
    echo "</form>"; 
} 
$TestName = $_POST['testname']; 
$Result = $_POST['result']; 
$Unit = $_POST['unit']; 
$NormalRange = $_POST['NormalRange']; 

if(isset($_POST['save'])) 
{ 
    $InsertQuery = "INSERT INTO rct(testname,result,unit,NormalRange) VALUES('$TestName','$Result','$Unit','$NormalRange')"; 
    $oMysqli= getConnection(); 
    $oMysqli->query($InsertQuery); 

    print_r($InsertQuery);exit(); 

    while($Row = $InsertQuery->fetch_array()) 
    { 
     $TestName = $Row['testname']; 
     $Result = $Row['result']; 
     $Unit = $Row['unit']; 
     $NormalRange = $Row['NormalRange']; 
    } 
} 
?> 
<html> 
<head> 
<title>Rct</title> 
</head> 
<body> 
<form name='abc' method="post"> 
     <label for='Table'>Define Table</label> 
     <label for='rows'>Row</label> 
     <input type="text" name="column"></input> 
     <label for='column'>Column</label> 
     <input type="text" name="rows"></input> 
     <input type="submit" name="submit" value="submit" onclick="aaa()"> 
</form> 
</body> 
</html> 

回答

0

存在諸多問題與您的代碼:

  1. <input/> S中的表應該是內部<form name='aa'>

  2. 表中的輸入應該被命名爲$iii[]

[]告訴PHP在$_POST創建所有行的陣列,所以可以訪問$_POST[0][0]用於行0,列0,$_POST[1][2]用於行2,列1等

  1. 您似乎有行和列向後。

  2. 您的所有<input/>標籤缺少/

  3. 有沒有形式命名testnameresultunitNormalRange,那麼,爲什麼你訪問這些$_POST值投入?

  4. fetch_array()只能在SELECT查詢後使用。 INSERT不返回任何值。

可能是我錯過的其他事情。

0

,首先必須糾正輸入標籤

更換

<input type="text" name="column"></input> 

<input type="text" name="column" /> 

二上回路必須排循環,而不是科拉姆作爲列坐行內

if(isset($_POST['submit'])) 
{  
    echo"<form name=\"aa\" method=\"post\">"; 
    echo "<table border='1' align='center'>";   
    for($iii = 0;$iii <$_POST['rows'];$iii++)   
    {    
     echo "<tr>";//start Row here       
     for($jjj = 0; $jjj <$_POST['column'];$jjj++) //loop for display no. of rows. 
     { 
      echo "<td>" ."<input type=\"text\" name='".$iii.$jjj."'>"."</td>";//all TDs must be inside the row 
     } 
     echo "</tr>";//end row here 
    } 
    echo "</table>";   
    echo "<input type=\"submit\" name=\"save\" value=\"save\">"; 
    echo "</form>"; 
} 

當然,表格必須在表格內。

讓我知道這是否有幫助

相關問題