我有一张包含国家,名字等行的表格
我还有一个每行处理的表单
我需要在同一页面上提交表格
如何进入同一页面上同一张桌子的下一行
我可以使用while或foreach,在哪里放置结束}
还是有其他方式?
答案 0 :(得分:0)
好的,我为你做了一个开始。我想你想把数据库中的所有行列入一个HTML表格,底部有一个表格,向数据库添加一个新行,对吗?
如果是这样,那么您可以使用这个单一的PHP页面代码来完成它。请注意,我不考虑安全查询的任何安全性!您可以在Internet上找到更多相关信息。
<?php
$DB_NAME = 'DATABASE_NAME';
$DB_HOST = 'DATABASE_HOST';
$DB_USER = 'DATABASE_USER';
$DB_PASS = 'DATABASE_PASSWORD';
// CONNECT TO THE DATABASE
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
//form submit?
if(isset($_POST['save'])) {
//INSERT QUERY
$q = "INSERT INTO `your_table`(`field1`, `field2`, `field3`) VALUES ('" . $_POST['field1'] . "', '" . $_POST['field2'] . "', '" . $_POST['field3'] . "')";
$mysqli->query($q) or die($mysqli->error.__LINE__);
}
//get all items from db (also the new row)
$query = "SELECT * FROM `your_table`";
$result = $mysqli->query($query) or die($mysqli->error.__LINE__);
//build first part of table
echo '<table>
<thead>
<th>
<td>Your field1</td>
<td>Your field2</td>
<td>Your field3</td>
</th>
</thead>
<tbody>';
//create rows
if($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '<tr>
<td>' . $row['field1'] . '</td>
<td>' . $row['field2'] . '</td>
<td>' . $row['field3'] . '</td>
</tr>';
}
} else {
echo '<tr><td colspan=3>NO RESULTS</td></tr>';
}
//close table
echo ' </tbody>
</table>';
// CLOSE CONNECTION
mysqli_close($mysqli);
?>
<!-- the form -->
<form action="#" method="POST">
<input type="text" name="field1" />
<input type="text" name="field2" />
<input type="text" name="field3" />
<input type="submit" name="save" value="save" />
</form>
希望这有帮助!