2017-07-05 188 views
1

顯示動態標籤在我index.php,我試圖從發生內爆MySQL數據庫加載的meta標籤的數組。我試圖在<meta>標記中回顯它。但它只顯示最後一個標籤。爲什麼這樣?在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

'$ meta_tags =陣列();'< - 動議到外面的環的 –

+0

'$ meta_tags =陣列();'< - 即,太 –

回答

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); 
+0

謝謝:)這一個解決了它! – tabia

+0

不客氣。 – Pupil

-1

集$ commaa_separated後價值完全while循環

$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); 
    ?> 
+0

1.不正確2.代碼轉儲不能提供良好的答案。你應該解釋*如何*和*爲什麼*這解決了他們的問題。我建議你閱讀,「[我怎樣寫一個很好的答案?」(http://stackoverflow.com/help/how-to-answer)3.請不要濫用格式化工具 –

+0

當您發佈此評論,我知道在那時我還更新了我的答案,請詳細說明並檢查並取消投票 –

-1

問題1:您可以在while循環設定$meta_tags因此它可以被初始化整天。 問題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); 
?> 
+0

代碼轉儲不會爲您提供良好的答案。你應該解釋*如何*和*爲什麼*這解決了他們的問題。我建議閱讀,「[我怎麼寫一個好的答案?]」(http://stackoverflow.com/help/how-to-answer) –