2017-07-14 19 views
-1

我正在學習如何構建一個漂亮的網站。我只知道一點css,html,php,MySQL和Bootstrap(v4),但我想編寫一個「新聞網站」。 索引頁面只有這些標題的「最新消息」和一個按鈕,可以登陸舊版新聞檔案。 我從來沒有嘗試,但我認爲我必須在新的php頁面上寫新聞,我把標題,新聞和作者。 這是一個例子如何使用更多頁面編寫「最新消息」和「新聞菜單」

<?php 
    $author="a"; 
    $text="b"; 
    $title="c"; 
    if (isset($latest) == false) 
     echo $title.$text.$author 
?> 

我將它列入我的索引與變量$最新= true,所以我的網頁將不回我的指標,但如果我加載的新聞頁面,它會迴應一切。 所有這些新聞頁面將在我的MySQL服務器中有一個id和一個名字,所以我會知道連接到我的服務器的最新消息。 我認爲這是一個可怕的解決方案,你能給我一些幫助嗎?謝謝你,對不起我的英語

+0

剛剛從數據庫中獲取最新消息(按日期desc排序,限制爲10)! – Jeff

+0

@Jeff我的錯誤 – GrumpyCrouton

回答

0

如果我理解正確的話,你要顯示在主頁上的最新的X新聞和顯示器年長以下網頁(例如:?頁= 2等)。

所以 - 你需要添加到你的MySQL新聞餐桌旁時間字段:

ALTER TABLE `tablename` ADD `Datetime` DATETIME NOT NULL AFTER `last table field`; 

這允許你插入日期時間:

$date = date("Y-m-d H:i:s"); 

使用date()變量返回當前日期時間。

然後你應該得到變量$ _GET例如頁面($ _GET ['page']),顯示在Web瀏覽器地址欄(/?page = x)上。

<?php 
 
\t $newsLimit = 9; 
 
\t $table  = 'news table name'; 
 
\t $query  = "SELECT COUNT(`ID`) FROM `$table`;"; 
 
\t $wynik  = mysqli_query($query); 
 
\t $a   = mysqli_fetch_row($wynik); 
 
\t $newsCount = $a[0]; 
 
\t $pagesCount = ceil($newsCount/$newsLimit); 
 
\t 
 
\t if (isset($_GET['page'])) { 
 
\t \t if ($_GET['page'] < 1 || $_GET['page'] > $pageCount) { 
 
\t \t \t $page = 1; 
 
\t \t } else { 
 
\t \t \t $page = $_GET['page']; 
 
\t \t } 
 
\t } else { 
 
\t \t $page = 1; 
 
\t } 
 
\t 
 
\t $index = $newsLimit * ($page - 1); 
 
\t $query = "SELECT * FROM `$table` ORDER BY `ID` LIMIT $index, $newsLimit;"; 
 
\t $result = mysqli_query($query); 
 
?>

現在,您可以格式化並在單一頁面中提取數據:

<?php 
 
\t while ($news = mysqli_fetch_array($result)) { 
 
\t \t echo $news['Title']; // e.g. 
 
\t } 
 
?>

在最後你只需要一個/上一個頁面的按鈕!

<?php 
 
\t if ($newsCount > $newsLimit) { 
 
\t \t $previous = $page - 1; 
 
\t \t $next  = $page + 1; 
 
\t \t 
 
\t \t if ($previous > 0) { 
 
\t \t \t echo '<a href="news.php?page=' . $previous . '">Previous</a>'; 
 
\t \t } 
 
\t \t 
 
\t \t if ($next <= $pageCount) { 
 
\t \t \t echo '<a href="news.php?page=' . $next . '">Next</a>'; 
 
\t \t } 
 
\t } 
 
?>

在這裏,你去!

+0

在while循環中有一個語法錯誤 – GrumpyCrouton

+1

**請**,請勿使用'mysql_ *'函數獲取新代碼。他們不再被維護,社區已經開始[棄用過程](http://news.php.net/php.internals/53799),並且'mysql_ *'函數已經在PHP 7中被正式刪除。相反,你應該瞭解[已準備好的語句](https://en.wikipedia.org/wiki/Prepared_statement)並使用「PDO」或「mysqli_ *」。如果你不能決定,[這篇文章將有助於選擇你最好的選擇](http://php.net/manual/en/mysqlinfo.api.choosing.php)。 (特別是因爲你正在向一個新的程序員推薦這個代碼) – GrumpyCrouton

+0

謝謝你,這和我腦海中的想法非常相似。 Yeahp,我總是使用mysqli:D 只是一個小問題:如果我不需要發佈的日期,我可以刪除日期()的那部分? – Robz

相關問題