第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

php 留言板 留言和回復(fù)

php 留言板 留言和回復(fù)

PHP
UYOU 2018-06-24 00:00:36
兩張表留言表 mess id,u_id //用戶id, time, mess回復(fù)表 reply id,u_id,time,mess,p_id //要回復(fù)留言的id怎樣查詢 才能在頁(yè)面 顯示所有的留言和回復(fù) 
查看完整描述

1 回答

?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊

看了你的問(wèn)題.和數(shù)據(jù)庫(kù)的2個(gè)表設(shè)計(jì).
1.先確定數(shù)據(jù)表的設(shè)計(jì).
留言表 message
字段:
msgid
uid
content
postdate

回復(fù)表replies
repliesid
uid
msgid
content
postdate

這樣的設(shè)計(jì)表,我認(rèn)為是最好的。符合數(shù)據(jù)庫(kù)的范式,主要是簡(jiǎn)單明了,簡(jiǎn)單就意味著性能.

2.怎么把數(shù)據(jù)庫(kù)合理的提取出來(lái),只能說(shuō)是從代碼上著手.
第一種最直接的方法。
$sql = "select * FROM message order postdate desc";
得到$messages留言的數(shù)組
foreach ($message as $key => $value) {
$sql = "select * from replies where msgid = ".$value['msgid'];
得到留言對(duì)應(yīng)的回復(fù)$replies
$message[$key]['replies'] = $replies;
}
最終得到數(shù)組$message;
前臺(tái)顯示:
foreach( $messsage as $key => $value ) {
echo $value[‘content']; //顯示留言
foreach( $value['replies'] as $k => $val ) {
echo $val['content'];//顯示該留言下的恢復(fù)
}
}

第二中方法,我比較喜歡,而且也一直在用
$sql = "select * FROM message order postdate desc";
得到$messages;
通過(guò)處理得到,數(shù)組$messages中的所有msgid,并存入一維數(shù)$msgids
$msgids = array();
$result = array(); //這個(gè)數(shù)組轉(zhuǎn)化$messages用的.因?yàn)槲覀円?messages的key值變成msgid
foreach( $message as $key => $value ) {
$msgids[] = $value['msgid'];
$result[$value['msgid']] = $value;
}
unset($messages); 這個(gè)數(shù)據(jù)就沒(méi)有用了。因?yàn)橐呀?jīng)有$result;

一次性查詢出,這些留言需要的所有回復(fù),$replies;
$sql = "select * from replies WHERE msgid in (".implode(',',$msgids).") order by postdate desc";
foreach( $replies as $key => $value ){
$result[$value['msgid']]['replies'][] = $value;
}

前臺(tái)顯示:
foreach( $resultas $key => $value ) {
echo $value[‘content']; //顯示留言
foreach( $value['replies'] as $k => $val ) {
echo $val['content'];//顯示該留言下的恢復(fù)
}
}

查看完整回答
反對(duì) 回復(fù) 2018-07-29
  • 1 回答
  • 0 關(guān)注
  • 1456 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)