2014-07-17 25 views
0

當前我正在學習PHP和數據庫,我編寫了下面的腳本以顯示圖像作爲我的div元素的背景,但輸出實際上什麼都沒有!錯誤是從行:從數據庫中顯示圖像作爲PHP中的div元素的背景

echo "<div class=\"post\" style='background-image: url('\"<?php echo $data[Image];\"?>')'";?> 

報價搞砸了!有人能告訴我如何糾正這個問題嗎?我試圖將雙引號改爲單引號,但仍然不起作用。

這是我完整的腳本:

<div class="dashboardA"> 
       <?php 
        $con = mysqli_connect("localhost", "Dave", "password"); 
        if (!$con){ 
         die ("Could not connect to database: " . mysqli_connect_error()); 
        } 
        mysqli_select_db($con, "my_blog"); 

        $sql = mysqli_query($con, "select * from article"); 

        while ($data=mysqli_fetch_array($sql)){ 
         echo "<div class=\"post\" style='background-image: url('\"<?php echo $data[Image];\"?>')'";?> 
         <?php echo "<p>" . $data["Title"] . "</p>"; 
         echo "<p>" . $data["Category"] . "</p>"; 
         echo "<p>" . $data["Published"] . "</p>"; 
         echo "</div>"; 
        } 
       ?> 
      </div> 

回答

2

你開始有點混合起來。你已經有PHP開放標籤,你不需要它們了。正好連接您的變量:

echo "<div class='post' style='background-image: url(\"$data[Image]\")'>"; 

注意:您還需要關閉你的開場白<div>標籤。

+0

謝謝!但是我得到一個錯誤:「無法解析文件\」$ data [Image] \「」。你有什麼想法爲什麼會發生這種情況? –

0

沒有在該行

echo "<div class=\"post\" style='background-image: url('\"<?php echo $data[Image];\"?>')'";?> 

您已經在PHP錯誤,所以開始標籤是錯誤的存在。

嘗試:

echo "<div class=\"post\" style='background-image: url(\"" . $data[Image] . "\")'";?> 
0

試試這個

while ($data=mysqli_fetch_array($sql)){ 
    echo "<div class=\"post\" style='background-image: url('\"<?php echo $data[Image];\"?>')'";?> 
    <?php echo "<p>" . $data["Title"] . "</p>"; 
    echo "<p>" . $data["Category"] . "</p>"; 
    echo "<p>" . $data["Published"] . "</p>"; 
    echo "</div>"; 
} 

替換此

與此

while ($data=mysqli_fetch_array($sql)){ 
    $img = $data["Image"];?> 
    <div class="post" style="background-image: url('<?php echo $img;?>')" > 
    <?php echo "<p>" . $data["Title"] . "</p>"; 
    echo "<p>" . $data["Category"] . "</p>"; 
    echo "<p>" . $data["Published"] . "</p>"; 
    echo "</div>"; 
} 
0

實際上,你這樣做是正確的在下面的回聲命令。要將變量的值和字符串組合使用「。」基本上替代了用於其他語言的「+」。因此在這裏不需要打開一個新的php標籤。

正確的代碼

echo '<div class="post" style="background-image: url(\'' . $data[Image] . '\')">'; 
0

試試這個,外面的PHP標籤。

<div class="post" style="background-image: url('<?php echo "$data[Image]"; ?>');"> 
+0

我得到這個錯誤:語法錯誤,意外''(T_ENCAPSED_AND_WHITESPACE),期待標識符(T_STRING)或變量(T_VARIABLE)或編號(T_NUM_STRING)在C:\ wamp \ www \ project \ Blog.php在線85' –

+0

嘗試從$ data中刪除''[Image] –