2012-05-17 35 views
-3

我在我的網站上喜歡新聞提要。您可以在post.php網站上發佈新聞,當您發佈新聞時,news.php中會出現新聞。代碼如下所示:不能顯示來自數據庫的文本

<!DOCTYPE html> 
<html lang='en'> 
<head> 
<style type="text/css"> 
element { 
color: black; 
} 


body { 
-webkit-background-size: cover; 
-moz-background-size: cover; 
-o-background-size: cover; 
background-attachment: fixed; 
background-image: url(bgn1.png); 
background-repeat: no-repeat; 
background-position: center top; 
} 
.news { 
font-family: Rough_Typewriter; 
font-size: 36px; 
} 
</style> 

<meta charset="UTF-8"> 
<title>iWrite</title> 
<meta name="view" content="width-device-width, initial-scale=1.0"> 
<meta name="description" content=""> 
<meta name="keywords" content=""> 

<link href="css/bootstrap.css" rel="stylesheet"> 
</head> 

<h1 class="news">iWrite</h1> 
<p> 
<hr> 
    <p> 
<p> 
    <p> 
    <p> 
    <p> 
    <p> 
    <p> 
    <p> 
    <p> 
    <a href='post.php'>Want to post a text?</a> 
    <?php 

    //connect 

    mysql_connect("myserver","username","password") or die(mysql_error()); 
    mysql_select_db("databasename") or die(mysql_error()); 

    //query the database 
    $getnews = mysql_query("SELECT * FROM news ORDER BY id DESC") or die(mysql_query()); 

    while ($row = mysql_fetch_assoc($getnews)) 
    { 

//get data 
$id = $row['id']; 
$title = $row['title']; 
$body = $row['body']; 
$date = $row['date']; 

echo " 
<b>$title posted on $date</b><br> 
"; 

echo nl2br($body); 

echo "<hr> 
"; 

    } 



    ?> 

但是,當其顯示在index.html的網站,它只是回聲出$標題張貼在$日期.... 請幫幫我!

回答

2

如果要嵌入要解析的PHP代碼,則必須使用PHP文件擴展名。如果您需要使用.html,請在您的.htaccess中使用mod_rewrite

+0

他這樣做:«新聞出現在這個news.php» – sprain

+0

他說,這個當前的文件名是「news.php」! – Zuul

+0

對不起,什麼是mod_rewrite?我相當新的這個... – tracifycray

0

你不應該在PHP中回顯那樣的變量。 讓他們出字符串

echo "<b>". $title ." posted on ". $date ."</b><br />" 

同樣的: 這是不好的做法,使用or die()因爲這殺死了腳本。 改爲使用正確的錯誤處理。

+3

那麼你的答案也是不好的做法。不要在echo中使用連接運算符使用逗號。即'echo'',$ title,'posted on',$ date,'
';' – Mike

+1

@Mike請問爲什麼這被認爲是不好的做法?這有什麼漏洞嗎? – itachi

+1

@itachi - 如果使用連接運算符PHP將創建一個新的臨時字符串變量,將所有內容連接在一起,然後回顯該臨時變量。如果您所做的只是回顯,則不需要進行任何操作,只需使用逗號即時回顯值即可。 – Mike

相關問題