2012-05-17 33 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

相关问题