在我的index.php
上,我试图破坏从MYSQL db加载的一系列元标记。我试图在<meta>
标签中回应它。但它只显示最后一个标签。为什么会这样?
HTML
$meta_t=mysqli_query($con,"select * from tags");
while($row1=mysqli_fetch_array($meta_t,MYSQLI_ASSOC)){
$meta_tags=array();
$meta_tags[]=$row1['tag_name'];
$comma_separated = implode($meta_tags);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>GripOffers</title>
<meta name="keywords" content="<?php echo $comma_separated;?>">
答案 0 :(得分:0)
三次更正:
1)定义数组外循环。您的代码每次都定义一个新数组。因此,您只获得最新价值。
2)移动implode()
外部循环。您需要implode()
整个数组,而不是最新的迭代值。
3)implode()
:缺少第一个参数,我放置,
。
更正后的代码:
$meta_t=mysqli_query($con,"select * from tags");
$meta_tags=array();
while($row1=mysqli_fetch_array($meta_t,MYSQLI_ASSOC)){
$meta_tags[]=$row1['tag_name'];
}
$comma_separated = implode(', ', $meta_tags);
答案 1 :(得分:-1)
完成while循环后设置$ commaa_separated值
$meta_tags=array();
$meta_t=mysqli_query($con,"select * from tags");
while($row1=mysqli_fetch_array($meta_t,MYSQLI_ASSOC)){
$meta_tags[]=$row1['tag_name'];
}
$comma_separated = implode($meta_tags);
?>
答案 2 :(得分:-1)
问题1:您可以在
$meta_tags
循环中设置while
,以便可以一直初始化。 问题2:Implode$comma_separated
数组变量在循环中不正确。
<?php
$meta_t=mysqli_query($con,"select * from tags");
$meta_tags=array();
while($row1=mysqli_fetch_array($meta_t,MYSQLI_ASSOC)){
$meta_tags[]=$row1['tag_name'];
}
$comma_separated = implode($meta_tags);
?>