0

アルバム (アーティストごとに 1 つのアルバム) に含まれる画像の総数のうち、画像の数を表示できるようにしたい。例: 10 枚中のアルバム 2。次に次の画像に移動すると、10 枚中のアルバム 3 というようになります。関数get_countを使用してから、HTML ページで関数とforeachステートメントを呼び出して、合計数を取得できます。しかし、個体番号を取得するコードの書き方がわかりません。使用コード:-

<?php
function get_count($artist_id) {
  $artist_id = (int)$artist_id;
  $count = array();
  $count_query = mysql_query("
      SELECT `image_album_id`, `artist_id`, COUNT(`image_album_id`) as `image_count` 
      FROM `album_images`
      WHERE `artist_id`=$artist_id AND `member_id`=".$_SESSION['member_id']);
  While ($count_row = mysql_fetch_assoc($count_query)) {
    $count[] = array(
        'id' => $count_row['image_album_id'],
        'album' =>  $count_row['artist_id'],
        'count' => $count_row['image_count']
        );
  }
  return $count;
}
?>

<?php
$count = get_count($artist_id);
foreach ($count as $count){
  echo '',$count['count'],'';
}
?>
4

3 に答える 3

1

$count問題は、配列とスカラー変数に同じ変数名を再利用することにあります。

$count = get_count($artist_id);

$count配列になりました。

foreach ($count as $count){

しかし$count、配列を一掃してスカラー変数になりました。

于 2012-10-11T03:24:47.307 に答える
0

次に、このように試してください

<?php
function get_count($artist_id) {
$artist_id = (int)$artist_id;
$count = array();
$count_query = mysql_query("SELECT `image_album_id`, `artist_id`
FROM `album_images`
WHERE `artist_id`=$artist_id AND `member_id`=".$_SESSION['member_id']);
$count_img_row=1;
$total_imgs=mysql_num_rows($count_query);
While ($count_row = mysql_fetch_assoc($count_query)) {
$count[] = array(
'id' => $count_row['image_album_id'],
'album' =>  $count_row['artist_id']
);
$count_img_row++;
}
return $count;
}
?>

<?php
$count = get_count($artist_id);
foreach ($count as $imgcount){
echo $imgcount['image_ord']." of ".$total_imgs;
}
?>
于 2012-10-11T10:48:47.087 に答える
0

このようにしてみてください。

<?php
function get_count($artist_id) {
$artist_id = (int)$artist_id;
$count = array();
$count_query = mysql_query("SELECT `image_album_id`, `artist_id`, COUNT
(`image_album_id`) as `image_count` 
FROM `album_images`
WHERE `artist_id`=$artist_id AND `member_id`=".$_SESSION['member_id']);
$count_img_row=1;
While ($count_row = mysql_fetch_assoc($count_query)) {
$count[] = array(
'id' => $count_row['image_album_id'],
'album' =>  $count_row['artist_id'],
'count' => $count_row['image_count'],
'image_ord'=>$count_img_row
);
$count_img_row++;
}
return $count;
}
?>

<?php
$count = get_count($artist_id);
foreach ($count as $imgcount){
echo $imgcount['image_ord']." of ".$imgcount['count'];
}
?>
于 2012-10-11T04:25:24.623 に答える