<!-- 從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)并渲染 -->
<?php
// 服務(wù)器連接文件引入并連接
require_once 'config.php';
mysqli_connect參數(shù):主機(jī)重慢,用戶(hù)名佑力,密碼,數(shù)據(jù)庫(kù)名
$conn = mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME);
// 下面這段是聯(lián)表查詢(xún)
$sql = "select p.title,p.created,p.content,p.views,p.likes,p.feature,c.`name`,u.nickname,
// 查找評(píng)論條數(shù) count()可以獲取總長(zhǎng)數(shù)诺苹、數(shù)據(jù)條數(shù)劫扒,
// 獲取comments中符合post_id = p.id條件的數(shù)據(jù)的總條數(shù)并生成一個(gè)單元頭為commentsCount的單元格
(SELECT COUNT(id) from comments WHERE post_id = p.id) as commentsCount
from posts p
// posts是數(shù)據(jù)庫(kù)名袒哥,后面加一個(gè)字母p是別名蕴纳,方便寫(xiě)碎赢。
//LEFT JOIN? 表名 on ? ? ? ? ? ?? 連表查詢(xún)語(yǔ)句。
LEFT JOIN categories c ON c.id = p. category_id
LEFT JOIN users u ON u.id = p.user_id
WHERE c.id != 1
// order by 排序薛夜,desc是倒敘
ORDER BY p.created DESC
// ?LIMIT? 只展示5條數(shù)據(jù)
LIMIT 5";
// 執(zhí)行查找sql語(yǔ)句并轉(zhuǎn)化為數(shù)組? 添加到普通數(shù)組中方便獲取數(shù)據(jù)(固定格式)籍茧;
$postRequest = mysqli_query($conn,$sql);
$res1 = [];
while($row = mysqli_fetch_assoc($postRequest)){
? // 數(shù)組名后面加上中括號(hào)表示將數(shù)據(jù)往數(shù)組中疊加
? $res1[] = $row;
}
print_r($res1);
?>
此時(shí)獲取的數(shù)據(jù)格式為數(shù)組,就可以直接渲染了:
Array
(
? ? [0] => Array
? ? ? ? (
? ? ? ? ? ? [title] => 第三篇示例文章
? ? ? ? ? ? [created] => 2017-07-01 14:00:00
? ? ? ? ? ? [content] => 歡迎使用阿里百秀梯澜。這是一篇示例文章
? ? ? ? ? ? [views] => 40
? ? ? ? ? ? [likes] => 100
? ? ? ? ? ? [feature] => http://dummyimage.com/800x600/79a2f2&text=zce.me
? ? ? ? ? ? [name] => 會(huì)生活
? ? ? ? ? ? [nickname] => 管理員
? ? ? ? ? ? [commentsCount] => 52
? ? ? ? )
? ? [1] => Array
? ? ? ? (
? ? ? ? ? ? [title] => 第二篇示例文章
? ? ? ? ? ? [created] => 2017-07-01 12:00:00
? ? ? ? ? ? [content] => 歡迎使用阿里百秀寞冯。這是一篇示例文章
? ? ? ? ? ? [views] => 20
? ? ? ? ? ? [likes] => 120
? ? ? ? ? ? [feature] => http://dummyimage.com/800x600/79a2f2&text=zce.me
? ? ? ? ? ? [name] => 奇趣事
? ? ? ? ? ? [nickname] => 管理員
? ? ? ? ? ? [commentsCount] => 62
? ? ? ? )
? ? [2] => Array
? ? ? ? (
? ? ? ? ? ? [title] => 適萬(wàn)長(zhǎng)
? ? ? ? ? ? [created] => 2017-06-22 12:09:32
? ? ? ? ? ? [content] => 來(lái)兒南為開(kāi)階展頭少技理聲。是戰(zhàn)火例多發(fā)價(jià)以況引機(jī)身西速識(shí)兩連晚伙。置養(yǎng)后紅和那帶礦部門(mén)其交吮龄。認(rèn)萬(wàn)建毛美了命平走斷命高要反。學(xué)出走除據(jù)號(hào)可空力應(yīng)基南狀準(zhǔn)除習(xí)咆疗。連感動(dòng)證極只查應(yīng)選周對(duì)天在空布按漓帚。日二江向農(nóng)使門(mén)下八期住較邊水交放較。構(gòu)龍把種數(shù)術(shù)對(duì)會(huì)年政值價(jià)但例卻題午磁。要文根信七清劃共界廣深要指來(lái)導(dǎo)尝抖。包頭然大東過(guò)聯(lián)安與重度加農(nóng)全帶成后⊙富剩可系說(shuō)交自或上委構(gòu)要意金性構(gòu)習(xí)黨昧辽。數(shù)時(shí)名史然話氣張可少應(yīng)石列結(jié)特示。
? ? ? ? ? ? [views] => 189
? ? ? ? ? ? [likes] => 170
? ? ? ? ? ? [feature] => http://dummyimage.com/800x600/f2c379&text=zce.me
? ? ? ? ? ? [name] => 會(huì)生活
? ? ? ? ? ? [nickname] => 汪磊
? ? ? ? ? ? [commentsCount] => 0
? ? ? ? )
)
按需加載數(shù)據(jù)(點(diǎn)擊加載更多一次顯示N條):
// 處理頁(yè)面按需加載的功能:SQL語(yǔ)句規(guī)律分析
// 假設(shè)一次加載10條 : 第一次? LIMIT 10
//? ? ? ? ? ? ? ? ? ? 第二次? LIMIT 10登颓, 10
//? ? ? ? ? ? ? ? ? ? 第三次? LIMIT 20搅荞, 10
// 總結(jié)規(guī)律: 語(yǔ)句第一個(gè)參數(shù)等于 (當(dāng)前次數(shù) - 1)* 要加載的條數(shù)
?//?? 完整語(yǔ)句:LIMIT (當(dāng)前次數(shù) - 1)* 要加載的條數(shù)? 要加載的條數(shù)