<?php
while($query_row2=mysql_fetch_array($result))
{
$res=mysql_query("SELECT * FROM images WHERE er='".$query_row2['er']."' ORDER BY `sr` DESC") or die ("Error");
$q=mysql_fetch_array($res);
$_SESSION["id1"]=$q['iname'];
?>
<img src="xyz.php" height="50" width="100"/>
<?php
}
?>
xyz.php包含:
<?php
include("connection.php");
session_start();
$z= $_SESSION["id1"];
header ("Content-type:image");
echo $z;
?>
这段代码显示了与第一个$query_row2['er']存储的相同的图像…所有的图片都是一样的…
您遇到的行为是正常的:首先,执行列出所有图像的页面,因此在最后,$_SESSION["id1"]将包含最后一个图像的内容。
我将不使用会话,并将循环更改为:
while($query_row2=mysql_fetch_array($result)) {
?><img src="xyz.php?er=<?=urlencode($query_row2['er'])?>" height="50" width="100"/><?
}
和xyz.php来执行查询以获取图像内容,例如:
<?php
include("connection.php");
$res=mysql_query("SELECT * FROM images WHERE er='".mysql_real_escape_string($_GET['er'])."'");
$q=mysql_fetch_array($res);
$z = $q['iname'];
header ("Content-type:image");
echo $z;
?>