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!";

//}

?>