我正在尝试在阵列中找到picid,但它无法正常工作。当我回应它时,什么都没有出现。
这是我的代码
<?php $psql=mysql_query("select * from gallery where userId='$miid'");
$photo1 = array();
while($photo=mysql_fetch_assoc($psql)) {
$photo1[]=$photo;
print_r($photo);
}
foreach($photo1 as $k => $v){
if($v['picId']==$mipic){
$pic="uploads/".$v['photo'];
echo ">>>". $key=array_search($v['picId'],$photo1);
?>
<a href="eg?next=<?php echo $photo[$k+1];?>">NEXT</a>
<img src="<?php echo $pic; ?>" width="300px" height="300px">
<a href="eg?previous=<?php echo $photo[$k-1];?>">PREVIOUS</a>
<?php
}
}?>
答案 0 :(得分:1)
array_search不是递归的。 $v
中存在$photo1
,而$v['picId']
中仅存在$v
。
这使得$key=array_search($v['picId'],$photo1)
返回false
,当你回复它时,它将打印为空。
我不确定你为什么要使用array_search
。要检索下一个和上一个picId,请尝试以下方法:
<a href="modules/gallery/miloader.php?next=<?php echo $photo1[$k+1]['picId'];?>">NEXT</a>
<img src="<?php echo $pic; ?>" width="300px" height="300px">
<a href="miloader.php?previous=<?php echo $photo1[$k-1]['picId'];?>">PREVIOUS</a>
请注意,其中一个href是modules/gallery/miloader.php
而另一个只是miloader.php
。因此,除非你实际上有两个不同的miloader.php文件(每个目录中有一个),否则其中一个是错误的。