【发布时间】:2012-12-08 10:33:26
【问题描述】:
我有一个图片表,其中用户的图片与他们的 ID 和图片物理链接一起保存。
userID | picture
1 | picnameLink
1 | picnameLink
2 | picnameLink
1 | picnameLink
2 | picnameLink
3 | picnameLink
现在,我想在 jquery 图片库块中显示最多 3 张图片,其中一个块应显示来自同一用户的所有 3 张图片,如果用户的图片少于 3 张,则不应显示图像文本。
我尝试使用 mysql 查询进行分组,但没有得到想要的结果。我必须使用两个循环吗?
--为 fthiella 编辑-- 这是代码
$query = "SELECT * FROM pictures GROUP BY userID";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
$image_array[] = $row['picLink'];
$id_array[] = $row['pic_id'];
}
$num_images_to_display = 3; /* MODIFY TO REFLECT NUMBER OF IMAGES TO SHOW PER SCREEN */
$num_images = count($image_array);
$image_path = "../images/"; /* MODIFY TO REFLECT THE PATH TO YOUR IMAGES */
$y = $num_images_to_display;
if(!isset($_GET['first'])){
$first = 0;
}else{
$first = (int) $_GET['first'];
}
$x = $num_images - 1;
$z = $x - $y;
if($first>$z) {
$first = $z;
}
$last = $first + $num_images_to_display;
这里是 HTML 区域:
<div style="position:absolute; top:50px; left:100px; width:800px; text-align: center;">
<?PHP
$i = $first;
while($i<$last) { $showme = $image_path . $image_array[$i]; ?>
<?php if($image_array[$i]!="") { ?><img src="<?PHP echo $showme; ?>" width="176px" height="197px"><?php } else { ?><img src="../image/no_image.jpg" width="176px" height="197px"><?PHP } ?>
$prev = $first-1;
$next = $first +1;
if($prev<0){ $prev = 0; }
?>
</div>
此查询的结果按组显示图片,但我希望每个用户最多三张图片,如果用户的图片少于三张,则没有图片显示。
【问题讨论】:
-
显示您尝试过的代码。然后告诉我们它正在做什么以及它与你想要它做什么有什么不同。
-
我没有看到任何代码,但您应该编辑原始帖子并将其粘贴到那里。
-
对不起,安迪,我刚刚用代码编辑了我的主要问题,因为我是新来的。
-
我没有任何答案,但我只是第一个说“给我们看代码”。
-
@travis 从
first开始?但首先是像页码这样的东西吗?所以如果first=0,显示第一个用户的image1,image2,image3(或空图像),first=1显示第二个用户的image1,image2,image3?
标签: php mysql loops picturegallery