[英]Getting a Button to Display Query Results in PHP MYSQL
我試圖運行一個查詢,當我單擊按鈕時,該查詢將顯示在我的瀏覽器中,但結果只是從頭開始顯示。 我將按鈕設置為發布,並將我的 php 文件設置為操作,但它似乎只是從一開始就運行代碼。 這是我所擁有的:
<?php
$host = "localhost";
$db = "cis475";
$user = "root";
$pw = "";
$conn = new mysqli ($host, $user, $pw, $db);
if($conn->connect_error) die($conn->connect_error);
$readAllQuery = "SELECT * FROM enrollment JOIN course ON enrollment.CourseID
= course.CourseID JOIN student ON enrollment.StudentID = student.StudentID";
$result = $conn->query($readAllQuery);
if (!$result) die($conn->error);
echo "<table border='1'>";
echo "<tr><td>EnrollmentID</td><td>Grade</td><td>EnrollmentSemester</td>
<td>CourseID</td><td>StudentID</td><td>Title</td><td>Credits</td>
<td>LastName</td><td>FirstMidName</td></tr>";
while ($row = mysqli_fetch_assoc($result)){
echo "<tr><td>{$row['EnrollmentID']}</td><td>{$row['Grade']}</td>
<td>{$row['EnrollmentSemester']}</td><td>{$row['CourseID']}</td><td>
{$row['StudentID']}</td><td>{$row['Title']}</td><td>{$row['Credits']}
</td>
<td>{$row['LastName']}</td><td>{$row['FirstMidName']}</td></tr>";
}
echo "</table>";
?>
<form method='post' action='readAll.php'>
<input type='submit' name='submit' value='Show All Enrollments'>
</form>
您需要查看是否存在“某物”(在這種情況下,您所擁有的只是提交),然后進行顯示....
<?php
if($_POST['submit']){
$host = "localhost";
$db = "cis475";
$user = "root";
$pw = "";
$conn = new mysqli ($host, $user, $pw, $db);
if($conn->connect_error) die($conn->connect_error);
$readAllQuery = "SELECT * FROM enrollment JOIN course ON enrollment.CourseID = course.CourseID JOIN student ON enrollment.StudentID = student.StudentID";
$result = $conn->query($readAllQuery);
if (!$result) die($conn->error);
echo "<table border='1'>";
echo "<tr><td>EnrollmentID</td><td>Grade</td><td>EnrollmentSemester</td>
<td>CourseID</td><td>StudentID</td><td>Title</td><td>Credits</td>
<td>LastName</td><td>FirstMidName</td></tr>";
while ($row = mysqli_fetch_assoc($result)){
echo "<tr><td>{$row['EnrollmentID']}</td><td>{$row['Grade']}</td>
<td>{$row['EnrollmentSemester']}</td><td>{$row['CourseID']}</td><td>
{$row['StudentID']}</td><td>{$row['Title']}</td><td>{$row['Credits']}
</td><td>{$row['LastName']}</td><td>{$row['FirstMidName']}</td></tr>";
}
echo "</table>";
}
?>
<form method='post' action='readAll.php'>
<input type='submit' name='submit' value='Show All Enrollments'>
</form>
程序文件中的任何代碼都將在執行時運行,這對所有語言都是如此,除非它包含在if
或任何其他條件語句中; 在這種情況下,包含在條件語句中的代碼只有在條件為true
才會執行。
因此,為了解決您的問題,您需要一個條件語句來檢查表單是否已提交,是否已提交,然后執行以下代碼-
if(isset($_POST['submit'])){
$host = "localhost";
$db = "cis475";
$user = "root";
$pw = "";
$conn = new mysqli ($host, $user, $pw, $db);
if($conn->connect_error) die($conn->connect_error);
$readAllQuery = "SELECT * FROM enrollment JOIN course ON enrollment.CourseID = course.CourseID JOIN student ON enrollment.StudentID = student.StudentID";
$result = $conn->query($readAllQuery);
if (!$result) die($conn->error);
echo "<table border='1'>";
echo "<tr><td>EnrollmentID</td><td>Grade</td><td>EnrollmentSemester</td>
<td>CourseID</td><td>StudentID</td><td>Title</td><td>Credits</td>
<td>LastName</td><td>FirstMidName</td></tr>";
while ($row = mysqli_fetch_assoc($result)){
echo "<tr><td>{$row['EnrollmentID']}</td><td>{$row['Grade']}</td>
<td>{$row['EnrollmentSemester']}</td><td>{$row['CourseID']}</td><td>
{$row['StudentID']}</td><td>{$row['Title']}</td><td>{$row['Credits']}
</td><td>{$row['LastName']}</td><td>{$row['FirstMidName']}</td></tr>";
}
echo "</table>";
}
在這個片段中,我們使用if
語句來檢查變量$_POST['submit']
存在。
這里submit
with 是表單提交按鈕的名稱
注意: $_POST
_ $_POST
變量僅在表單已提交時才存在,如果表單未提交,則調用isset()
將返回false
,因此您在{ }
的代碼不會在第一次加載時執行,但會在提交時運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.