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)戻り値になります。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>

modules/gallery/miloader.phpただし、href の 1 つは であり、もう 1 つは単にであることに注意してくださいmiloader.php。したがって、実際に 2 つの異なる miloader.php ファイル (各ディレクトリに 1 つずつ) がある場合を除き、そのうちの 1 つが間違っています。

于 2012-07-13T14:28:54.700 に答える