Php 如何通过选择第一个名称放弃表中的数据并获得新结果?
目前在我的网站上,我有一个表格显示了所有学生的数据,但我想通过选择学生的名字来获得新的结果。通过这样做,我应该有一个表,显示他们的名字,姓氏,事件名称,事件长度,时间和排名只是为特定的学生和检查结果按钮不起作用。因为我是新手,如果我能得到一些帮助就好了。非常感谢Php 如何通过选择第一个名称放弃表中的数据并获得新结果?,php,mysql,forms,option,Php,Mysql,Forms,Option,目前在我的网站上,我有一个表格显示了所有学生的数据,但我想通过选择学生的名字来获得新的结果。通过这样做,我应该有一个表,显示他们的名字,姓氏,事件名称,事件长度,时间和排名只是为特定的学生和检查结果按钮不起作用。因为我是新手,如果我能得到一些帮助就好了。非常感谢 <form action = "result.php" method = "POST"> </form> Select Student<br> <select name="Stud">
<form action = "result.php" method = "POST">
</form>
Select Student<br>
<select name="Stud">
<?php
//stores the query in the variable $all_names_query
$all_names_query ="Select * FROM Student ORDER BY FirstName ASC";
//Run the query and store the result in a variable called $all_names_results
$all_names_result=mysqli_query($dbcon, $all_names_query) ;
echo "<option value=>";
echo "Select Student";
echo "</option>";
//Fetching row of result as an associative array
while ($displayname=mysqli_fetch_assoc($all_names_result))
{
//Displaying the First Name of the Student in the drop down menu
echo "<option value='".$displayname['FirstName']."'>".$displayname['FirstName']."</option>";
}
?>
</select>
<p><input type = "submit" name = "submit" value="Check results"></p>
</form>
<table align="center" border="1">
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Event</th>
<th>Event Length</th>
<th>Time</th>
<th>Rank</th>
</tr>
<?php
while($record = mysqli_fetch_assoc($Student_result)) {
echo "<tr>";
echo "<td>".$record['FirstName']."</td>";
echo "<td>".$record['LastName']."</td>";
echo "<td>".$record['EventName']."</td>";
echo "<td>".$record['EventLength']."m</td>";
echo "<td>".$record['Time']."s</td>";
echo "<td>".$record['Rank']."</td>";
echo "</tr>";
}
?>
</table>
选择学生
名字
姓
事件
事件长度
时间
等级
PHP:
你没有用你的$Student=$\u POST['Stud']做任何事情代码>这是查询中需要的标识符,用于提取该学生的所需信息。现在,您的PHP查询代码并不关心该post值。我知道您是PHP新手,但当您将不安全的人工输入输入到查询中时,您应该使用,因为您将非常容易受到注入攻击。如果这是为了一些家庭作业/学习工作,我仍然建议你准备你的陈述,因为你可能会在安全性增强方面得到额外的分数。如果这段代码是为一个实时网站编写的,你必须准备好它,但这只是一个家庭作业,不会进入实时OK,我真的不想发布一个不安全sql的解决方案。我认为您的解决方案可能位于中,其中Student.StudentID=Result.StudentID
也许您希望将Result.StudenID
替换为$\u POST
值,并更正Student.StudentID
的列名?我不确定你的实际结构。我明天会试试,谢谢你的建议
<?php
if (isset($_POST['Stud'])){
$Student = $_POST['Stud'];
}
$Student_query = "SELECT Student.StudentID, Student.FirstName, Student.LastName, Event.EventID, Event.EventName, Event.EventLength, Result.Time, Result.Rank
From Student, Event, Result
WHERE Student.StudentID = Result.StudentID
AND Result.EventID = Event.EventID
ORDER BY Student.StudentID, Student.FirstName";
$Student_result = mysqli_query ($dbcon, $Student_query);
$Student_rows = mysqli_num_rows($Student_result);
//if ($Student_rows > 0) {
//echo "There were ".$Student_rows." results!!";
//}
//else {
//echo "No results found!";
//}
?>