我一直有我的代码问题..我是一个仍然菜鸟与PHP所以我真的很感激,如果有人可以帮助我:'(我试图根据选定的下拉列表值显示数据库中的数据。有三个目前在我的数据库表中的数据..但是,只有一个显示在我的输出..我不知道我的代码是什么错。任何人都可以帮助我..
这是我的代码departmentlist.php
Choose Department :
<form action="" method="POST">
<select name="department">
<option value="" selected="selected">-- Choose department --</option>
<option value="Information System Department">Information System Department</option>
<option value="Finance">Finance</option>
<option value="HR and Administration">HR and Administration</option>
<option value="Security">Security</option>
</select>
<input type="submit" value="Submit" />
</form>
</br>
<table border="1" id="table">
<tr><th bgcolor="#00CCCC">Department</th>
<th bgcolor="#00CCCC">Locaion</th>
<th bgcolor="#00CCCC">Serial Number</th>
<th bgcolor="#00CCCC">Description of asset</th>
</tr>
<?php
mysql_connect('localhost','root',"") or die('Error1 '.mysql_error());
mysql_select_db("ams") or die('error2'.mysql_error());
if($_SERVER['REQUEST_METHOD'] =='POST')
{ $dep=$_POST['department'];
$query="SELECT * FROM asset WHERE department= '" . $dep . "'";
$run=mysql_query($query);
$numrow = mysql_num_rows($run);
$row=mysql_fetch_array($run, MYSQLI_ASSOC);
echo "<tr><td bgcolor='#00FFCC'>".$row['department']."</td><td bgcolor='#00FFCC'>".$row['location']."</td><td bgcolor='#00FFCC'>".$row['serialno']."</td><td bgcolor='#00FFCC'>".$row['desc']."</td></tr>";
}
}
?>
</table>
答案 0 :(得分:0)
你必须循环结果。
while($row = mysql_fetch_array($run, MYSQLI_ASSOC)){
echo "<tr><td bgcolor='#00FFCC'>".$row['department']
."</td><td bgcolor='#00FFCC'>".$row['location']
."</td><td bgcolor='#00FFCC'>".$row['serialno']
."</td><td bgcolor='#00FFCC'>".$row['desc']
."</td></tr>";
}
答案 1 :(得分:0)
手动:http://www.php.net/mysql_fetch_array
将mysql_fetch_array放入while循环中:
while ($row = mysql_fetch_array($run, MYSQL_ASSOC)) {
echo "<tr><td bgcolor='#00FFCC'>".$row['department']."</td><td bgcolor='#00FFCC'>".$row['location']."</td><td bgcolor='#00FFCC'>".$row['serialno']."</td><td bgcolor='#00FFCC'>".$row['desc']."</td></tr>";
}
我还怀疑你应该MYSQL_ASSOC而不是MYSQLI_ASSOC,因为你使用的是mysql而不是mysqli。
请注意,不推荐使用mysql,因此请使用mysqli。
答案 2 :(得分:0)
尝试使用while循环。
while($row=mysql_fetch_array($run)){
echo "<tr>
<td bgcolor='#00FFCC'>".$row['department']."</td>
<td bgcolor='#00FFCC'>".$row['location']."</td>
<td bgcolor='#00FFCC'>".$row['serialno']."</td>
<td bgcolor='#00FFCC'>".$row['desc']."</td>
</tr>";
}