2014-02-06 31 views
0

我有這樣的代碼。html表格中的輸入類型文本名稱

<form action="submit.php" method="post"> 
<table> 
<tr> 
<th> Student </th> 
<th> Subject </th> 
<th> Grade </th> 
</tr> 
$sql = mysql_query("select * from tblsubjectgrade"); 
while($row = mysql_fetch_array($sql)){ 
echo'<tr>'; 
echo '<td>'.$row['name'].'</td>'; 
echo '<td>'.$row['subject'].'</td>'; 
echo '<td><input type="text" name="grade" /></td>'; 
echo '</tr>'; 
} 
echo '<input type="submit" />'; 
</form> 

我的問題是,如果我有20個學生我會輸入每個學生一年級,當我點擊提交按鈕都在每個學生輸入的等級必須保存到數據庫命名tblgrade。每個輸入的名稱都不相同。任何人都可以幫助我?

+1

'<輸入類型=「text」name =「grade []」/>',或'' - @davey提供了正確的語法代碼 – chrisboustead

+1

其實''input type =」text「name =」grade ['。$ row ['id']。']「/>',否則你不知道哪個檔次屬於哪個學生 – davey

+0

你可以給tblgrade嗎? –

回答

1

grade應該是一個數組,在你的情況下它只是一個值。

如果你的表結構有一個ID,將其分配到的名字,像這樣

while($row = mysql_fetch_array($sql)){ 
echo'<tr>'; 
echo '<td>'.$row['name'].'</td>'; 
echo '<td>'.$row['subject'].'</td>'; 
echo '<td><input type="text" name="grade['.$row['id'].']" /></td>'; 
echo '</tr>'; 
} 

然後在PHP中,你將有一個$_POST["grade"]陣列,包含所有的值,與實際表關聯。

您可以通過$_POST["grade"][row_id]

0

訪問這些更新/插入他們的數據庫,你可以這樣做:

<?php 
foreach($_POST["grade"] as $id => $grade) { 
    $query = "SELECT * FROM tblgrade WHERE id = '$id'"; 
    $result = mysql_query($query); 
    if(mysql_num_rows($result) > 0) 
    $query = "UPDATE tblgrade SET grade = '$grade' WHERE id = '$id'"; 
    else 
    $query = "INSERT INTO tblgrade SET id='$id', grade = '$grade'"; 
    mysql_query($query); 
} 
?> 

,如果你需要,如果ID不存在,你挽救他們的名字&主題也必須將這些輸入字段放入。

0

事情是這樣的:

$rowCount = $_POST['hiddenName']; 
for($i=1; i<=$rowCount; $i++) 
{ 
    $_POST['name_'.$i] 
} 

,或者你可以做這樣的事情:

HTML標記:

<table> 
    <tr> 
    <td><input type="text" name="name[]" ></td> 
    <td><input type="text" name="subject[]" ></td> 
    <td><input type="text" name="grade[]"> </td> 
    </tr> 
</table> 

PHP標記:

<?php 
$rowCount = count($_POST['name']); 
    echo "<table>"; 
    for($i=1; $i<=$rowCount; $i++) 
    { 
    echo "<tr>"; 
    echo "<td>".$_POST['name'][$i -1]."</td>"; 
    echo "<td>".$_POST['subject'][$i -1]."</td>"; 
    echo "<td>".$_POST['grade'][$i -1]."</td>"; 
    echo "</tr>"; 
    } 
    echo "</table>"; 
?>