$sql="select * from info where name='".$_POST['StudID']."'"; $query=mysql_query($sql) or die ("执行sql语句失败".mysql_error()); while($row=mysql_fetch_array($query)){ if($_POST['StudID']==$row['name']){ 查询语句不是有这个条件么,还加什么IF
improve your coding logic:1. if $_POST['StudID'] => is true: Do Mysql Query and print result => is false: print only html form 2. Sample code: [code] <?php if ($_POST['StudID']) { $uid = $_POST['StudID']; $include_once('conn.php'); $sql = "SELECT * FROM info WHERE name='$uid'"; $result = mysql_query($sql) # here to check sql query result; if ($result) { while($row = mysql_fetch_array($query)){ # collect data for final output array_push($arr_student_records, $row['id'], $row['name'], $row['sex'], $row['borndate'], $row['termdate'], $row['departnum'], $row['profenum'], $row['classnum']); } # now print html out $col_names = array('学号','姓名','性别','出生日期', '入学时间','系部代码', '专业代码','班级代码'); echo "<table><tr>\n"; foreach ($col_names as $col_name) { echo "<td>$col_name</td>\n"; } echo "</tr>\n<tr>\n"; foreach ($arr_student_records as $item) { echo "<td>$item</td>\n"; } echo "</tr></table>\n"; } else { echo "<p>Could not find $uid in Database</p>\n"; } } else { ?> <h2> <font face="宋体">学生信息查询</font></h2> <form method="post" action="<?php $_SERVER['PHP_SELF']?>"> 姓名 <input type="text" name="StudID" /> <input type="submit" value="查询" /> </form> <? } ?> [/code]
首先这句就决定了只有有数据的时候才会显示下边的内容,但是你又在下边加了
if($_POST['StudID']==$row['name']){
相当于多此一举的做法,本身你的SQL语句就是通过name=$_POST['StudID']来查询的,如果没有,直接在while那就截止执行了,如果有,那肯定查询出来的结果都成立if($_POST['StudID']==$row['name']){ 这个条件,你干吗还要做个判断
$query=mysql_query($sql) or die ("执行sql语句失败".mysql_error());
while($row=mysql_fetch_array($query)){
if($_POST['StudID']==$row['name']){ 查询语句不是有这个条件么,还加什么IF
=> is true: Do Mysql Query and print result
=> is false: print only html form
2. Sample code:
[code]
<?php
if ($_POST['StudID']) {
$uid = $_POST['StudID'];
$include_once('conn.php');
$sql = "SELECT * FROM info WHERE name='$uid'";
$result = mysql_query($sql)
# here to check sql query result;
if ($result) {
while($row = mysql_fetch_array($query)){
# collect data for final output
array_push($arr_student_records,
$row['id'], $row['name'], $row['sex'],
$row['borndate'], $row['termdate'],
$row['departnum'], $row['profenum'],
$row['classnum']);
}
# now print html out
$col_names = array('学号','姓名','性别','出生日期',
'入学时间','系部代码', '专业代码','班级代码');
echo "<table><tr>\n";
foreach ($col_names as $col_name) {
echo "<td>$col_name</td>\n";
}
echo "</tr>\n<tr>\n";
foreach ($arr_student_records as $item) {
echo "<td>$item</td>\n";
}
echo "</tr></table>\n";
} else {
echo "<p>Could not find $uid in Database</p>\n";
}
}
else {
?>
<h2> <font face="宋体">学生信息查询</font></h2>
<form method="post" action="<?php $_SERVER['PHP_SELF']?>">
姓名
<input type="text" name="StudID" />
<input type="submit" value="查询" />
</form>
<? } ?>
[/code]