在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
而不是要检查的会话,但是发生了同样的问题。
任何帮助?
提前致谢
答案 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>