从mysql数据库中获取数据并使用主键值(id)显示它们

时间:2013-11-21 07:19:38

标签: php mysql session

在search.php中

<?php
$s=mysql_query("SELECT * FROM  bus_detail where source_point='$_SESSION[source_point]' && destination_point='$_SESSION[destination]'");
while($row=mysql_fetch_array($s))
{
?>

<tr class="td_text">
<td>
<input name="bus_id" type="text" value="<?php echo $row['bus_id'];?>" style="border:0px; width:15px; text-align:left;" /></td>
<td> 
<input name="bus_name" type="text" value="<?php echo $row['bus_name'];?>"/>
  </td>

book.php中

<?php
session_start();
require_once('config.php');
if (!isset($_SESSION)){
}
    $bus_id=$_REQUEST['bus_id'];
$_SESSION['bus_id']=$bus_id;
?>

<div>
<?php
  $s=mysql_query("SELECT * FROM  bus_detail where bus_id='$_SESSION[bus_id]'");
while($row=mysql_fetch_array($s))
{ ?> 
<?php echo $row['bus_name'];?>
<?php } ?>
</div>  

当我搜索和搜索时,此代码运行正常。只显示一个总线名称,我可以在book.php div上显示它。但是当搜索后显示多个总线名称时,只有最后一个总线名称显示在book.php页面的div上,我不能根据bus_id显示我的总线名称.. 我认为bus_id变量不能在我的book.php页面中正确调用,会话的任何问题都可能因此我在select语句中使用了$bus_id而不是要检查的会话,但是发生了同样的问题。 任何帮助? 提前致谢

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码,

在search.php中

<?php
    $s=mysql_query("SELECT * FROM  bus_detail where source_point='$_SESSION[source_point]' && destination_point='$_SESSION[destination]'");
    while($row=mysql_fetch_array($s))
    {
    ?>
    <tr class="td_text">
    <td>
    <input name="bus_id" type="text" value="<?php echo $row['bus_id'];?>" style="border:0px; width:15px; text-align:left;" /></td>
    <td> 
    <input name="bus_name" type="text" value="<?php echo $row['bus_name'];?>"/>
      </td>

       <td><a href="book.php?bus_id=<?php echo $row['bus_id'];?>"><?php echo $row['bus_name'];?></a></td>

      </tr>
 <?php }?>

在book.php中

 <?php

    require_once('config.php');
    if (!isset($_REQUEST['bus_id'])){

        header('location:search.php');
    }
     $bus_id=$_REQUEST['bus_id'];       
    ?>      
    <div>
    <?php //display busid realted bus name
       $s= mysql_query("SELECT * FROM  bus_detail where bus_id='".mysql_real_escape_string($bus_id)."'");
       $count =mysql_num_rows($s);

       if($count>0){
            while($row=mysql_fetch_array($s))
            { 
                echo $row['bus_name'];
             }  
        }else{
            echo "Invalid Bus ID";
        }        
    ?>
</div>