其实我就是想这样去设计以下的代码的,
当我输入一个名字的时候,点击了提交以后,
WEB页面就会对数据库进行访问,
如果输入的名字与数据库是对应得上的,则输出这个学生的信息出来。
以下就是我写的代码,但是没有如我所想的把所有的信息展现出来。
不知道哪里出了问题。
请大家帮帮忙忙,谢谢。<html>
<body>
<form method="post" action="">
<h2> <font face="宋体">学生信息查询</font></h2>
<form method="post" action="">
学号
<input type="text" name="StudID" />
<input type="submit" value="查询" />
</form>
<table border="1" align="center" width="650">
<tr>
<td>学号</td>
<td>姓名</td>
<td>性别</td>
<td>出生日期</td>
<td>入学时间</td>
<td>系部代码</td>
<td>专业代码</td>
<td>班级代码</td>
</tr>
<?php
include_once('conn.php');
$sql="select * from info";
$query=mysql_query($sql) or die ("执行sql语句失败".mysql_error());
$row=mysql_fetch_array($query);
if($row['name']==StudID){
while($row=mysql_fetch_array($query)){
  ?>
<tr>
<td><?php echo $row['id'] ?></td>
<td><?php echo $row['name'] ?></td>
<td><?php echo $row['sex'] ?></td>
<td><?php echo $row['borndate'] ?></td>
<td><?php echo $row['termdate'] ?></td>
<td><?php echo $row['departnum'] ?></td>
<td><?php echo $row['profenum'] ?></td>
<td><?php echo $row['classnum'] ?></td>
</tr>  <?php
}}else {
echo "没有此学生的信息";
}
?>
</table>
</body>
</html>

解决方案 »

  1.   


    <html>
    <body>
    <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
    <h2> <font face="宋体">学生信息查询</font></h2>
    <form method="post" action="">
    学号
    <input type="text" name="StudID" />
    <input type="submit" value="查询" />
    </form>
    <table border="1" align="center" width="650">
    <tr>
    <td>学号</td>
    <td>姓名</td>
    <td>性别</td>
    <td>出生日期</td>
    <td>入学时间</td>
    <td>系部代码</td>
    <td>专业代码</td>
    <td>班级代码</td>
    </tr>
    <?php
    include_once('conn.php');
    $sql="select * from info where name='".$_POST["StudID"]."'";
    $query=mysql_query($sql) or die ("执行sql语句失败".mysql_error());
    $num = mysql_num_rows($query);
    if($num>0){
    while($row=mysql_fetch_array($query)){
      ?>
            <tr>
            <td><?php echo $row['id'] ?></td>
            <td><?php echo $row['name'] ?></td>
            <td><?php echo $row['sex'] ?></td>
            <td><?php echo $row['borndate'] ?></td>
            <td><?php echo $row['termdate'] ?></td>
            <td><?php echo $row['departnum'] ?></td>
            <td><?php echo $row['profenum'] ?></td>
            <td><?php echo $row['classnum'] ?></td>
            </tr>
      <?php}}else{
         echo "没有此学生的信息";
    }
    ?>
    </table>
    </body>
    </html>
      

  2.   

    二楼那么写是对的,你要确保studid是正确的。
      

  3.   

    先谢谢大家的帮助,我把我的问题进行了修改,如下
    首先,我把我的<form>多出来的地方进行了修改,并且在action的位置添加了 action="<?php $_SERVER['PHP_SELF']?>" 
    具体如下:
     
    [code]<form method="post" action="<?php $_SERVER['PHP_SELF']?>"> 
    <h2> <font face="宋体">学生信息查询</font></h2> 
    姓名 
    <input type="text" name="StudID" /> 
    <input type="submit" value="查询" /> 
    </form>[/code] 另外需要更改的地方,就是下面的语句,主要是把SQL的语句更改了。 
    [code]<table border="1" align="center" width="650"> 
    <tr> 
    <td>学号</td> 
    <td>姓名</td> 
    <td>性别</td> 
    <td>出生日期</td> 
    <td>入学时间</td> 
    <td>系部代码</td> 
    <td>专业代码</td> 
    <td>班级代码</td> 
    </tr> 
    <?php 
    include_once('conn.php'); $sql="select * from info where name='".$_POST['StudID']."'"; 
    $query=mysql_query($sql) or die ("执行sql语句失败".mysql_error()); $row=mysql_fetch_array($query); 
    while($row=mysql_fetch_array($query)){ 
    ?> 
    <tr> 
    <td><?php echo $row['id'] ?></td> 
    <td><?php echo $row['name'] ?></td> 
    <td><?php echo $row['sex'] ?></td> 
    <td><?php echo $row['borndate'] ?></td> 
    <td><?php echo $row['termdate'] ?></td> 
    <td><?php echo $row['departnum'] ?></td> 
    <td><?php echo $row['profenum'] ?></td> 
    <td><?php echo $row['classnum'] ?></td> 
    </tr> <?php 
    } ?> 
    </table>[/code] 运用了以上的方法,但仍然查询不了任何的信息出来。 另外还运用了其它的方法来进行修改,主要是table那个地方修改了, 
    form表单中的和上面的都一样
     
    [code]<table border="1" align="center" width="650"> 
    <tr> 
    <td>学号</td> 
    <td>姓名</td> 
    <td>性别</td> 
    <td>出生日期</td> 
    <td>入学时间</td> 
    <td>系部代码</td> 
    <td>专业代码</td> 
    <td>班级代码</td> 
    </tr> 
    <?php 
    include_once('conn.php'); 
    if(isset($_POST['StudID'])){ 
    $sql="select * from info where id='".$_POST['StudID']."'"; 
    $query=mysql_query($sql) or die ("执行sql语句失败".mysql_error()); 
    if(!mysql_num_rows($query)){ 
    $row=mysql_fetch_array($query); 
    while($row=mysql_fetch_array($query)){ 
    ?> 
    <tr> 
    <td><?php echo $row['id'] ?></td> 
    <td><?php echo $row['name'] ?></td> 
    <td><?php echo $row['sex'] ?></td> 
    <td><?php echo $row['borndate'] ?></td> 
    <td><?php echo $row['termdate'] ?></td> 
    <td><?php echo $row['departnum'] ?></td> 
    <td><?php echo $row['profenum'] ?></td> 
    <td><?php echo $row['classnum'] ?></td> 
    </tr> <?php 
    }}else{ 
    echo "没有此学生的信息"; 
    }} 
    ?> 
    </table>[/code] 因为用了if语句,而且信息没找到,于是返回的只有“没有此学生的信息”。 我在想,是不是我的SQL语句写错了,所以当我输入想查询的信息时,没有得到返回。 
    真的不知道哪里出了问题。 

      

  4.   

    先谢谢大家的帮助,我把我的问题进行了修改,如下
    首先,我把我的<form>多出来的地方进行了修改,并且在action的位置添加了 action="<?php $_SERVER['PHP_SELF']?>" 
    具体如下:
     
    <form method="post" action="<?php $_SERVER['PHP_SELF']?>"> 
    <h2> <font face="宋体">学生信息查询</font></h2> 
    姓名 
    <input type="text" name="StudID" /> 
    <input type="submit" value="查询" /> 
    </form> 另外需要更改的地方,就是下面的语句,主要是把SQL的语句更改了。 
    <table border="1" align="center" width="650"> 
    <tr> 
    <td>学号</td> 
    <td>姓名</td> 
    <td>性别</td> 
    <td>出生日期</td> 
    <td>入学时间</td> 
    <td>系部代码</td> 
    <td>专业代码</td> 
    <td>班级代码</td> 
    </tr> 
    <?php 
    include_once('conn.php'); $sql="select * from info where name='".$_POST['StudID']."'"; 
    $query=mysql_query($sql) or die ("执行sql语句失败".mysql_error()); $row=mysql_fetch_array($query); 
    while($row=mysql_fetch_array($query)){ 
    ?> 
    <tr> 
    <td><?php echo $row['id'] ?></td> 
    <td><?php echo $row['name'] ?></td> 
    <td><?php echo $row['sex'] ?></td> 
    <td><?php echo $row['borndate'] ?></td> 
    <td><?php echo $row['termdate'] ?></td> 
    <td><?php echo $row['departnum'] ?></td> 
    <td><?php echo $row['profenum'] ?></td> 
    <td><?php echo $row['classnum'] ?></td> 
    </tr> <?php 
    } ?> 
    </table> 运用了以上的方法,但仍然查询不了任何的信息出来。 另外还运用了其它的方法来进行修改,主要是table那个地方修改了, 
    form表单中的和上面的都一样
     
    <table border="1" align="center" width="650"> 
    <tr> 
    <td>学号</td> 
    <td>姓名</td> 
    <td>性别</td> 
    <td>出生日期</td> 
    <td>入学时间</td> 
    <td>系部代码</td> 
    <td>专业代码</td> 
    <td>班级代码</td> 
    </tr> 
    <?php 
    include_once('conn.php'); 
    if(isset($_POST['StudID'])){ 
    $sql="select * from info where id='".$_POST['StudID']."'"; 
    $query=mysql_query($sql) or die ("执行sql语句失败".mysql_error()); 
    if(!mysql_num_rows($query)){ 
    $row=mysql_fetch_array($query); 
    while($row=mysql_fetch_array($query)){ 
    ?> 
    <tr> 
    <td><?php echo $row['id'] ?></td> 
    <td><?php echo $row['name'] ?></td> 
    <td><?php echo $row['sex'] ?></td> 
    <td><?php echo $row['borndate'] ?></td> 
    <td><?php echo $row['termdate'] ?></td> 
    <td><?php echo $row['departnum'] ?></td> 
    <td><?php echo $row['profenum'] ?></td> 
    <td><?php echo $row['classnum'] ?></td> 
    </tr> <?php 
    }}else{ 
    echo "没有此学生的信息"; 
    }} 
    ?> 
    </table> 因为用了if语句,而且信息没找到,于是返回的只有“没有此学生的信息”。 我在想,是不是我的SQL语句写错了,所以当我输入想查询的信息时,没有得到返回。 
    真的不知道哪里出了问题。 

      

  5.   

    if(!mysql_num_rows($query)){  去掉!
      

  6.   

    最终解决方案
    <html>
    <body>
    <form method="post" action="<?php $_SERVER['PHP_SELF']?>">
    <h2> <font face="宋体">学生信息查询</font></h2>
    姓名
    <input type="text" name="StudID" />
    <input type="submit" value="查询" />
    </form>
    <table border="1" align="center" width="650">
    <tr>
    <td>学号</td>
    <td>姓名</td>
    <td>性别</td>
    <td>出生日期</td>
    <td>入学时间</td>
    <td>系部代码</td>
    <td>专业代码</td>
    <td>班级代码</td>
    </tr>
    <?php
    include_once('conn.php');$sql="select * from info where name='".$_POST['StudID']."'";
    $query=mysql_query($sql) or die ("执行sql语句失败".mysql_error());
    while($row=mysql_fetch_array($query)){
      ?>
    <tr>
    <td><?php echo $row['id'] ?></td>
    <td><?php echo $row['name'] ?></td>
    <td><?php echo $row['sex'] ?></td>
    <td><?php echo $row['borndate'] ?></td>
    <td><?php echo $row['termdate'] ?></td>
    <td><?php echo $row['departnum'] ?></td>
    <td><?php echo $row['profenum'] ?></td>
    <td><?php echo $row['classnum'] ?></td>
    </tr>  <?php
    }?>
    </table>
    </body>
    </html>
      

  7.   

    html>
    <body>
    <form method="post" action="">
    <h2> <font face="宋体">学生信息查询</font></h2>
    <form method="post" action="">
    学号
    <input type="text" name="StudID" />
    <input type="submit" value="查询" />
    </form>form标签里不能嵌套form    删掉第二个form    语句哪里  看一楼的就行