gpt4 book ai didi

php - mysql_num_rows 到 php 数据对象

转载 作者:行者123 更新时间:2023-11-30 23:23:56 25 4
gpt4 key购买 nike

我在将我的代码从 mysql * 转换为 php 数据对象时感到困惑。我有一个包含照片的相册,我希望该相册的第一张照片成为相册的封面图片。我知道如何在我的 sql 中执行此操作,但我现在遇到 pdo 问题。这是我的代码:

        $sqlAlb="Select album_id,album_name from albums";
$resAlb=$db->prepare($sqlAlb);
$resAlb->execute();
$strAlb="";
while($rowAlb = $resAlb->fetch(PDO::FETCH_ASSOC)){
$rs=$db->prepare("select COUNT(*) from gallery where album_id=".$rowAlb['album_id']);
$rs->execute();
$num_rows=$rs->fetchColumn();
$dset=$rs->fetch(PDO::FETCH_ASSOC);
if($rs!=0){
$strAlb.="<article class='one-third column' data-categories='sermons people'>";
$strAlb.="<div class='project-thumb'><div class='bordered'>";
$strAlb.="<figure class='add-border'>";
$strAlb.="<a class='single-image picture-icon' rel='gallery' ><img src='uploads/photos/".$dset['pic_img']."' alt='' /></a>";
$strAlb.="</figure>";
$strAlb.="</div></div></article>";
}
}
echo $strAlb;

最佳答案

您没有具体说明遇到的问题,但我猜您只是没有从查询中获得所需的数据。您似乎正在查询一个计数值,然后尝试将该值用作图像 href 属性的一部分,除非您的图像以非常特定的方式编号,否则这可能不起作用。

就我个人而言,我会在您的画廊中添加一个特定的 tintyint(类似 bool 值)字段,以明确指出哪张图片是封面图片,而不是依赖于某种可能无法保证的排序顺序,具体取决于您查询表格的方式。然后,我会利用一个查询加入相册和画廊表来获取您需要的信息,如下所示:

SELECT a.album_id, a.album_name, g.image_filename  <-- or whatever your filename field is
FROM albums AS a
INNER JOIN gallery AS g ON a.album_id = g.album.id
WHERE g.is_cover = 1

然后,您可以在单个查询中获取所需的所有数据,而不是 1+ 个相册查询。然后,您将遍历结果集以获取所需的数据。

关于php - mysql_num_rows 到 php 数据对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14264592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com