尝试使用PHP从数据库中检索数据

时间:2015-03-15 06:18:08

标签: php mysql

我有一个数据库表,其中包含一些学生的记录,如下所示: table =得分 id名称得分 1 Michael Smith 67 2 Lois Brown 72 3凯特史密斯53 4尼克罗斯56

我想要做的是使用我的下拉列表,其中包含学生的姓名,以检索有关学生的信息并一次显示一个。例如,如果我在下拉列表中单击Nick Ross,我希望它以表格形式显示4,Nick Ross和56,但我得到它以显示空白页面。善意的帮助。这是我的脚本

<html>
<body>
<br><br><br>
<form method = "POST" action = "students.php" >
<select name="students">
  <option>Select a name:</option>
  <option>Michael Smith</option>
  <option>Lois Brown</option>
  <option>Kate Smith</option>
  <option>Nick Ross</option>
  </select>
  <br><br>
  <input type = "submit" name "submit" value ="Process">
</form>

<br>


</body>
</html>  

students.php

<?php

$con = mysqli_connect('localhost','root','','school');
if(!$con) die('Could not connect: ' . mysql_error($con));

if(isset($_POST['submit'])) {

        $students = $_POST['students'];

    $result = mysqli_query($con,"SELECT *, FROM score WHERE students = $students");

    echo "<table align='center'  width='340px' border='1'>
    <tr>
    <th>id</th>
    <th>Name</th>
    <th>Score</th>
    </tr>";

     while($row = mysqli_fetch_array($result)) {
      echo "<tr>";
      echo "<td>" . $row['id'] . "</td>";
      echo "<td>" . $row['name'] . "</td>";
      echo "<td>" . $row['score'] . "</td>";
      echo "</tr>";
    }

    echo "</table>";
} 

mysqli_close($con);


?>

2 个答案:

答案 0 :(得分:1)

您需要将要从数据库获取的ID作为值传递。在你的html中放入<option>标记的value属性如下:

<option value="1">Michael Smith</option> <option value="2">Lois Brown</option>

可能您需要更改sql查询以匹配更改。我会做类似的事情:

SELECT * FROM score WHERE id = $student_id

答案 1 :(得分:0)

如果你想显示学生的记录你可以使用简单的超级链接和那个学生的形式的id,当用户点击那个链接时只需从url获取id并从数据库中获取记录。

E.g

<a href="students.php?id=1">Michael Smith</a>

然后在学生页面中获取ID

<?php
   $id = $_GET['id'];

  //Then use simple select query to fetch record from database

   SELECT * FROM score WHERE id = $id;
?>

如果您想使用Drop-down,我希望您使用与上述相同的方法来使用Ajax。