我有这个查询和功能
$images = [];
$q = $pdo->query("SELECT * FROM projects ORDER BY project_id ASC LIMIT 8");
foreach($q as $row) {
$mainTitle1 = $row['project_category'];
$parts1=explode(" ",$mainTitle1);
$images[] = [
'project_category' => $row['project_category'],
'project_id' => $row['project_id'],
'project_image' => $row['project_image']
];
}
function image_html($image) {
return '<img src="'.$image['project_image'].'" alt="">';
}
function category($category) {
return '<span class="item-title">'.$parts1[0].'</span><span class="item-cat"> '.$parts1[1].'</span> ';
}
然后我试图像这样显示
<div class="itemm web">
<?php echo image_html($images[0]); ?>
<div class="item-overlay">
<?php echo category($images[0]); ?>
</div>
</div>
<div class="itemm w_60 web">
<?php echo image_html($images[1]); ?>
<div class="item-overlay">
<?php echo category($images[1]); ?>
</div>
</div>
<?php echo image_html($images[0]); ?>
在页面上正确显示,但<?php echo category($images[0]); ?>
却没有。它是空的。
在数据库中我Name subname
的想法是在Name
上显示<span class="item-title">'.$parts1[0].'</span>
subname
和<span class="item-cat"> '.$parts1[1].'</span>'
为什么没有显示任何内容?
答案 0 :(得分:2)
请注意,category()
变量$category
中的$parts1
不等于$parts1
。
您在category()
方法的正文中使用了错误或未定义的变量$parts1
。
<强>更新强>
根据您的评论,如果您想在类别方法中访问$parts1
,那么您必须将function category($image,$parts1){}
作为函数参数传递:
$parts1
否则,由于可变范围问题,您无法访问$parts1=explode(" ",$mainTitle1);
。
最重要的是,category()
只返回数组中的最后一条记录意味着它只包含一条记录。
但是,根据$image
方法的正文,您在此处未使用$parts1
,因此您只能在此方法中传递asset pipeline
。