㈠ php留言板的回復怎麼做
首先得設計好資料庫,留言一個表,回復一個表,然後把留言表中關鍵字ID關聯到回復表中。
比如:
留言表:message
id
contents
user
time
回復表:reply
id
m_id 關聯留言表中的id
contents
user
time
然後程序方面把對應的留言、回復保存到相應的表中,讀取的時候先遍歷留言表,然後通過留言表id再讀取對應的回復數據。
㈡ 用PHP完成留言板功能
留言表:留言ID、用戶ID、內容、發表時間、修改時間(此欄位可選)。
回復表:回復ID、留言ID、用戶ID、內容、發表時間、修改時間(此欄位可選)。
第一個用戶ID是誰發表的留言,第二個用戶ID是誰回復的留言,這樣無限回復沒問題,應該和你設計的差不多。
查詢(查詢某條留言的所有回復):
在回復表裡查詢所有該留言的回復記錄(查詢條件為留言ID),並按發表時間降序
回復內容表:
回復Id 回復內容
回復關聯表:
回復內容id 回復內容id
已私信
㈢ php 留言板 留言和回復
看了你的問題.和資料庫的2個表設計.
1.先確定數據表的設計.
留言表 message
欄位:
msgid
uid
content
postdate
回復表replies
repliesid
uid
msgid
content
postdate
這樣的設計表,我認為是最好的。符合資料庫的範式,主要是簡單明了,簡單就意味著性能.
2.怎麼把資料庫合理的提取出來,只能說是從代碼上著手.
第一種最直接的方法。
$sql = "select * FROM message order postdate desc";
得到$messages留言的數組
foreach ($message as $key => $value) {
$sql = "select * from replies where msgid = ".$value['msgid'];
得到留言對應的回復$replies
$message[$key]['replies'] = $replies;
}
最終得到數組$message;
前台顯示:
foreach( $messsage as $key => $value ) {
echo $value[『content']; //顯示留言
foreach( $value['replies'] as $k => $val ) {
echo $val['content'];//顯示該留言下的恢復
}
}
第二中方法,我比較喜歡,而且也一直在用
$sql = "select * FROM message order postdate desc";
得到$messages;
通過處理得到,數組$messages中的所有msgid,並存入一維數$msgids
$msgids = array();
$result = array(); //這個數組轉化$messages用的.因為我們要把$messages的key值變成msgid
foreach( $message as $key => $value ) {
$msgids[] = $value['msgid'];
$result[$value['msgid']] = $value;
}
unset($messages); 這個數據就沒有用了。因為已經有$result;
一次性查詢出,這些留言需要的所有回復,$replies;
$sql = "select * from replies WHERE msgid in (".implode(',',$msgids).") order by postdate desc";
foreach( $replies as $key => $value ){
$result[$value['msgid']]['replies'][] = $value;
}
前台顯示:
foreach( $resultas $key => $value ) {
echo $value[『content']; //顯示留言
foreach( $value['replies'] as $k => $val ) {
echo $val['content'];//顯示該留言下的恢復
}
}
㈣ php留言板中怎麼刪除
首先在留言詳情的後面添加一個標簽
<a href="/localhost/message/delete?id=<?=$item->id?>">刪除</a>
就是點擊到這個刪除,就會傳遞一個留言的id值到相應的頁面
然後在該頁面執行資料庫操作 delete ( 'tablename' ,'id'=$id);
寫SQL語句就行了
publicfunctiondelete()
{
//我這寫的是MVC模式下的
$id=$this->input->get('id',TRUE);//get方法獲取鏈接後的id值
$this->db->where('id',$id);
$this->db->delete('list');
//
}
㈤ 用PHP怎麼做留言板
我來教你:
首先你要建立一個mysql資料庫
然後在資料庫裡面設置欄位 例如 用戶 留言
當你在html頁面的文本框填寫留言後,用表單點擊提交(在表單裡面要設置提交到那個頁面 比如:index.php)
當你提交到改頁面後,在這個頁面填寫你的php代碼
就是連接資料庫,然後將你的留言寫進資料庫
最後查看 和刪除 就是執行資料庫常見的查詢功能和刪除功能了
㈥ php留言功能怎麼和html頁面綁定
首先第一點,不用資料庫是可以的,但是你的用戶留言數據存放在哪裡?(存在文件裡面也是可以的)
第二點,把html頁面上的內容提交到php中(用post或get接收),你可以使用表單from,
<formname="英文名稱"action="跳轉到的指定的php頁面"method="填寫get或post,後台php用同樣方式接受">
Username:
<inputtype="text"name="user"/>
<inputtype="submit"value="Submit"/>
</form>
點擊按鈕就可以跳轉到php頁面了,然後用post或get獲取在html頁面中html控制項的名稱,比如我答案中的<input type="text" name="user" />
就是用$_POST['user']或$_GET['user']接受
㈦ php建立留言板問題
Notice是提示級別,不算出錯,不影響程序正常運行,你可以在php.ini文件中配置error_reporting項將其關閉,也可以在代碼中加入
@error_reporting(E_ALL & ~E_NOTICE);來屏蔽。
Undefined variable指的是變數未聲明。有php中變數是不用聲明就可以直接使用的,所以只是Notice,而不是Error或者warning
想用更規范的編程風格就先聲明變數吧。
這里$_POST是客戶端傳來,不便事先申明,規范的寫法是先判斷變數是否存在再引用,就不會有這個提示了,常見的寫法如下:
$user=isset($_POST['user'])?$_POST['user']:'';
當然,這里還應該做更多的判斷,對變數進行過濾。
你這樣直接傳入SQL有嚴重的安全隱患。
㈧ php 個人的留言板中,別人給你的留言里寫上你的回復留言 求簡單代碼
你可以把留言和回復放在一個表裡面,在一個表裡面設兩個狀態,一個是審核狀態,一個是回復狀態,當你回復後,把狀態改為正常,在網頁上判斷狀態是否是正常,是否顯示就可以了啊
㈨ php留言板是實現無限回復功能
個人覺得建立一個專門的資料庫表就可以了,給每個回復一個id然後在每次有回復後將這個id對應的回復寫入表中就ok了!
回復內容表:
回復Id 回復內容
回復關聯表:
回復內容id 回復內容id
這樣就可以實現無限回復了!
㈩ php留言表
你錯了
$_POST[`submit`] 這里的submit兩邊的點 不是1旁邊的`而是單引號'
echo $sql="insert into message(id,user,title,content,lastdate)".
"values (``,`$_POST[user]`,`$_POST[title]`,`$_POST[content]`,now())";
這里的`$_POST[user]` 應該這樣寫 '$_POST[user]' 當然最好的是用個變數把值接到在放到sql語句里
$user = $_POST['user']; 然後在語句裡面 ,'$user', 就OK了。。
那麼1旁邊的 ` 應該在哪裡用呢 是在這里
insert into `message`(`id`,`user`,`title`,`content`,`lastdate`) values('','$user','$title','$content',now());
對了 1 旁邊的 ` 是用在表名或者欄位名 上的。記住嘍!