gpt4 book ai didi

php - 在 foreach 循环外部使用变量

转载 作者:行者123 更新时间:2023-11-29 12:03:05 25 4
gpt4 key购买 nike

我尝试创建一个简单的cms以用于学习目的。我编写了一个函数来获取特定类别的帖子。为了打印帖子,我使用了 foreach 循环。但我只想在屏幕顶部使用 cat_title 一次。应显示与该 cat_title/cat_id 相关的所有帖子。我似乎无法让它发挥作用。

  function get_cat_posts($cat_id, $conn)
{
$result = $conn->query("SELECT blog_item.id, blog_item.title, blog_item.category_id, blog_item.posted_on, blog_item.content, menu_item.cat_title, menu_item.cat_id FROM blog_item INNER JOIN menu_item ON blog_item.category_id = menu_item.cat_id WHERE menu_item.cat_id= $cat_id");
if($result->rowCount() != 0) {
// - category title -
foreach($result as $row) {
echo '<hr>';
echo '<a href="post_cat_template.php/?category=' .$row['cat_id'] . '?post_id=' .$row['id'] . '">' . $row['title'] . '</a> - <em>' . $row['posted_on'] . '</em>';
echo '<hr>';
}
}
else { echo "no posts in this category";}

}

最佳答案

只要您位于 if($result->rowCount() != 0) { 内,您就知道 $result[0] 存在,并且,基于SQL,所有$result都有相同的cat_title,所以你可以这样做:

function get_cat_posts($cat_id, $conn)
{
$data = $conn->query("SELECT blog_item.id, blog_item.title, blog_item.category_id, blog_item.posted_on, blog_item.content, menu_item.cat_title, menu_item.cat_id FROM blog_item INNER JOIN menu_item ON blog_item.category_id = menu_item.cat_id WHERE menu_item.cat_id= $cat_id");
if($data->rowCount() != 0) {
$result = $data->fetchAll(PDO::FETCH_ASSOC);
echo $result[0]['cat_title']; // format as you want
foreach($result as $row) {
echo '<hr>';
echo '<a href="post_cat_template.php/? category=' .$row['cat_id'] . '?post_id=' .$row['id'] . '">' . $row['title'] . '</a> - <em>' . $row['posted_on'] . '</em>';
echo '<hr>';
}
}
else { echo "no posts in this category";}
}

关于php - 在 foreach 循环外部使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32019974/

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