2012-05-17 4 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, попробуйте использовать mod_rewrite в вашем .htaccess.

+0

Он делает это: «новости приходят на эту новость.php» – sprain

+0

Он сказал, что это текущее имя файла - «news.php»! – Zuul

+0

Извините, что такое mod_rewrite? Im совершенно новичок в этом ... – tracifycray

0

Вы не должны эхо-переменные, как в PHP. Держите их из строки

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

также: Это плохая практика, чтобы использовать or die(), так как это убивает сценарий. Вместо этого используйте правильную обработку ошибок.

+3

Хорошо, что ваш ответ - плохая практика. Не используйте оператор конкатенации с эхом, используя запятую. то есть 'echo '', $ title, 'posted on', $ date, '
';' – Mike

+1

@ Майк может спросить, почему это считается плохой практикой? Есть ли какая-либо уязвимость в этом? – itachi

+1

@itachi - Если вы используете оператор конкатенации, PHP создаст новую временную строковую переменную, объедините все в нее, а затем повторите временную переменную. Нет необходимости в каких-либо из этих операций, если все, что вы делаете, является эхом, поэтому просто используйте запятую, чтобы сразу же отменить значения. – Mike

Смежные вопросы