国、名前などの行を含むテーブルがあります
各行にプロセスがあるフォームもあります
同じページでフォームを送信する必要があります
同じページの同じテーブルの次の行に移動するにはどうすればよいですか
while または foreach を使用しますか? 締めくくりをどこに置くか、}
または別の方法がありますか?
国、名前などの行を含むテーブルがあります
各行にプロセスがあるフォームもあります
同じページでフォームを送信する必要があります
同じページの同じテーブルの次の行に移動するにはどうすればよいですか
while または foreach を使用しますか? 締めくくりをどこに置くか、}
または別の方法がありますか?
わかりました、私はあなたのために始めました。データベースのすべての行をHTMLテーブルにリストし、下部に新しい行を追加してデータベースに追加したいと思いますよね?
もしそうなら、この単一の PHP ページ コードでそれを行うことができます。安全なクエリのセキュリティを考慮していないことに注意してください! 詳細については、インターネットを参照してください。
<?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>
これが役立つことを願っています!