[英]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.