php蓋樓評論
1. php評論引用功能怎麼做
比如說 某個帖子內容在一個div裡面
<div id="floor_3">我是這一樓的內容</div>
使用javascript用以下方法獲得內容
content = document.getElementById("floor_3").innterHTML;
這樣就把內容復制到 content,然後在回帖的地方使用這個變數就可以了
2. php怎麼實現評論蓋樓
建表:
floor:id,title,.....
comment:id,pid,fid,........(此表可再分,評論一級單表和子評論表)
比較簡單的查詢方式就是嵌套查詢,或者你組建遞歸查詢也可以(建議次方法)
這里為了簡單,就說嵌套查詢:
select * from floor 標題
select * from comment where pid=0;#這里pid=0標記的是一級評論
然後foreach($result as $k=>$v){
select * from comment where id=pid;#這里就是二級評論,寫個判定,如果二級下面還有評論就繼續循環,做個判定輪詢的方式
}
這種方式就是評論後需要別人刷新後才能看到。
如果不想要這種方式就用socket (workman)。php必須要他指定的高於此版本的
3. php 寫評論列表
我覺得可以這樣做,先備份一下這個數組,然後循環判斷這個數組中的每一個子元素,如果該子元素的next欄位有值,就把這個子元素作為子節點附加到其next的節點,這樣就會形成一個樹狀結構,其對應的子評論就好找了。可能有些麻煩了,不知道還有沒有其它更好的方法。
下面是給你寫的生成樹的方法:
function list_to_tree($list) {
// 創建Tree
$tree = array();
if(is_array($list)) {
$refer = array();
foreach ($list as $key => $data) {
$refer[$data['id']] =& $list[$key];
}
foreach ($list as $key => $data) {
$parentId = $data['next'];
if (0 == $parentId) {
$tree[$data['id']] =& $list[$key];
}else{
if (isset($refer[$parentId])) {
$parent =& $refer[$parentId];
$parent['_child'][$data['id']] =& $list[$key];
}
}
}
}
return $tree;
}
剩下的取每一個父節點的子節點就比較好取了,希望對你有幫助。
4. 網易的評論蓋樓設計,用php的話,應該怎樣實現
網易的評論蓋樓設計我幫你按照計劃,實現原創內容!
5. php 文章底下評論功能實現
這個表能支持單向評論,單向回復的功能,至於多層級回復,肯定不行.
6. 關於PHP開發論壇詳細流程應怎樣設計
首先論壇的主要特徵就是交互性,也就是話題都是用戶產生的,用戶圍繞著一個話題進行蓋樓評論,這是論壇的基本邏輯。
那麼如何設計開發一個論壇,流程如下:
1設計資料庫,分析需要哪些表,比如用戶表,帖子表,評論表,區塊表等等。
2選擇採用什麼框架進行開發,比如thinkphp還是laravel等。
3寫需求分析,做原型圖,確定需要哪些頁面。
4後台根據功能,開發各個功能模塊。
5前端根據設計圖做頁面。
6前後端整合
7測試
8發布代碼
7. 請問下貼吧用php代碼怎麼樣寫回復人對回復人的評論,以下是我建的發帖和回帖的數據表,不知道怎麼才可
想要找到回復人的賬號,回復人必須登陸網站,登錄網站就可以從當前回復人的,$_SESSION[] 中取得回復人ID 然後給放到對應的回復表中。
8. phpcms怎麼在內容頁點擊評論鏈接直接進入評論頁面
{APP_PATH}index.php?m=comment&c=index&a=init&commentid={$commentid}鏈接裡面填寫這個點擊進去提示**參數
9. php新聞評論功能,評論內容就顯示在評論框的上方
1.有些版本的async這個屬性,不能加引號(如:'false'或"false"就不起作用)
2.dataType這個屬性必須和返回的響應內容對應。即返回xml的話,就不能使用dataType:'json',這樣會導致success回調函數不執行。
3.timeout設置請求超時時間(毫秒)。此設置將覆蓋全局設置。設置過大,數字過長,部分瀏覽器就不支持了。
10. 怎麼製作評論功能的頁面
用PHP來製作評論系統
在PHP and mysql的環境下運行。有三個文件:comments.php, 是用來顯示[評論的, commentadd.php, 用來處理評論內容的, and commentform.html 通過FROM來提交評論。
1.首先建立一個資料庫,如果已經建立則建立一個符合條件的表:
CREATE TABLE `comtbl` (
`postID` INT NOT NULL AUTO_INCREMENT ,
`postTITLE` TEXT NOT NULL ,
`posterNAME` TEXT NOT NULL ,
`posterEMAIL` TEXT NOT NULL ,
`postTIME` TIMESTAMP NOT NULL ,
`postTXT` TEXT NOT NULL ,
PRIMARY KEY ( `postID` )
);
評論查看頁:COMMENTS.PHP,具體內容為(有用戶名和密碼的在實際工作中要改變):
$dbcnx = mysql_connect("localhost", "username", "password");
mysql_select_db("comments");
接下來需要對表進行查詢,並且把ID 按Descending: 順序排序:
$result = mysql_query("SELECT * FROM comtbl ORDER BY postID DESC");
if (!$result) {
echo("<b>Error performing query: " . mysql_error() . "</b>");
exit();
}
在這里因為要讀出好多條記錄,所以用循環來讀,具體程序如下:
while ($row = mysql_fetch_array($result) ) {
$msgTxt = $row["postTXT"];
$msgId = $row["postID"];
$SigName = $row["posterNAME"];
$SigDate = $row["postTIME"];
$msgTitle = $row["postTITLE"];
$url = $row["posterEMAIL"];
現在到了最關鍵的一步了,也是困難的一步: 因為在這里用到MySQL's TIMESTAMP 函數 (功能是可以自動的餓把時間添加到一個表中),並且需要取得時間的字元串,使用字元串函數substr() ( $yr 表示年, $mo 表示月, 等等):
$yr = substr($SigDate, 2, 2);
$mo = substr($SigDate, 4, 2);
$da = substr($SigDate, 6, 2);
$hr = substr($SigDate, 8, 2);
$min = substr($SigDate, 10, 2);
還需要對上述代碼的功能加以擴充來實現12或24小時表示或者用 AM和PM來表示上下午,代碼如下:
if ($hr > "11") {
$x = "12";
$timetype = "PM";
$hr = $hr - 12;
}else{
$timetype = "AM";
}
另外,當評論者要是留下Email 的話,我們可以在這里來建立一個連接實現聯系發評論的人.代碼如下:
if (!$url) {
$url = "#";
}else{
$stat = $url;
$url = "mailto:" . $url . "";
}
最後,我們可以按行來顯示數據,並且關閉循環,最終的顯示代碼如下:
echo("<p><b>$msgTitle</b>
$msgTxt<br>
<div align=right>$hr:$min $timetype | $mo/$da/$yr | $msgId, <a href='$url'>$SigName</a></div></p>");
}
<p><b>Message Title</b>
Text within the message, blah blah<br>
<div align=right>Hour:Minute AM/PM | Month/Day/Year | Message ID, <a href='mailto:[email protected]'>Name with email link</a></div></p>
表單處理的程序: COMMENTADD.PHP
首先我們設置一些變數,然後通過表單把變數獲得的數據提交到後台資料庫中,並且請記住用戶名和密碼。
$assume = $_POST['assume'];
$posterEMAIL = $_POST['postemail'];
$postTXT = $_POST['posttxt'];
$posterNAME = $_POST['poster'];
$postTITLE = $_POST['posttitle'];
if ($assume == "true") {
$dbcnx = mysql_connect("localhost", "username", "password");
mysql_select_db("comments");
$sql = "INSERT INTO comtbl SET posterNAME='$posterNAME', posterEMAIL='$posterEMAIL',
postTXT='$postTXT', postTITLE='$postTITLE'";
if (mysql_query($sql)) {
echo("<P>Your comment has been added</P>");
} else {
echo("<P>Error adding entry: " . mysql_error() . "</P>");
}
}
提交了自己的評論之後還要有跳轉的功能,下面的Javascript代碼就可以實現跳轉到指定的頁面。
<script language=javascript>
<!--
location.href="comments.php";
//-->
</script>
下面是具體的COMMENTFORM.HTML代碼,通過下面的內容,可以讓發表評論者發表評論,然後通過提交可以把數據提交到commentadd.php裡面來實現數據的在線提交。
<form action="commentadd.php" method=post>
<input type="text" name="poster" size="23" value="name"><br />
<input type="text" name="posttitle" size="23" value="name"><br />
<input type="text" name="postemail" size="23" value="[email protected]"><br />
<textarea cols=44 rows=6 name="posttxt" size=24 wrap="VIRTUAL">message<br />
<input type=hidden name=assume value=true>
<input type="submit" value="submit">
下面是處理評論的代碼 comments.php:
<?
$dbcnx = mysql_connect("localhost", "username", "password");
mysql_select_db("comments");
$result = @mysql_query("SELECT * FROM comtbl ORDER BY postID DESC");
if (!$result) { echo("<b>Error performing query: " . mysql_error() . "</b>");
exit();
}
while ($row = mysql_fetch_array($result) ) {
$msgTxt = $row["postTXT"];
$msgId = $row["postID"];
$SigName = $row["posterNAME"];
$SigDate = $row["postTIME"];
$msgTitle = $row["postTITLE"];
$url = $row["posterEMAIL"];
$yr = substr($SigDate, 2, 2);
$mo = substr($SigDate, 4, 2);
$da = substr($SigDate, 6, 2);
$hr = substr($SigDate, 8, 2);
$min = substr($SigDate, 10, 2);
if ($hr > "11") {
$x = "12";
$timetype = "PM";
$hr = $hr - 12;
}else{
$timetype = "AM";
}
if (!$url) {
$url = "#";
}else{
$stat = $url;
$url = "mailto:" . $url . "";
}
echo("<p><b>$msgTitle</b> $msgTxt<br><div align=right>
$hr:$min $timetype | $mo/$da/$yr | $msgId, <a href='$url'>$SigName</a></div></p>");
}
?>
下面是 commentadd.php:
<?
$assume = $_POST['assume'];
$posterEMAIL = $_POST['postemail'];
$postTXT = $_POST['posttxt'];
$posterNAME = $_POST['poster'];
$postTITLE = $_POST['posttitle'];
if ($assume == "true") {
$dbcnx = mysql_connect("localhost", "username", "password");
mysql_select_db("comments");
$sql = "INSERT INTO comtbl SET posterNAME='$posterNAME', posterEMAIL='$posterEMAIL',
postTXT='$postTXT', postTITLE='$postTITLE'";
if (mysql_query($sql)) {
echo("Your comment has been added");
} else {
echo("Error adding entry: " . mysql_error() . "");
}
}
?>
<script language=javascript>
<!--
location.href="comments.php";
//-->
</script>