1

我试图在数组中找到 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
  }
  }?>
4

1 回答 1

1

array_search 不是递归的。$v存在于 中$photo1,而$v['picId']仅存在于 中$v

这使得$key=array_search($v['picId'],$photo1)return 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 文件(每个目录中都有一个),否则其中一个是错误的。

于 2012-07-13T14:28:54.700 回答