在元标记中显示动态标记

时间:2017-07-05 12:17:22

标签: php html mysql

在我的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;?>">

3 个答案:

答案 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);
?>