大家好,我一直在努力尋找解決方案。我試過這個 Nested array. Third level is disappearing 和這Trying to get threaded/nested comments in PHP和許多其他方式,但可能是由於我缺乏知識我無法得到所需的結果。這就是我尋求幫助的原因。 我想爲我的新聞網站創建嵌套註釋。嵌套評論OOP php
我在mysql用CommentID和PARENTID表
有一個類帖子裏我得到的所有分配的註釋
case Comments:
if ($this->iPostID != 0) {
$sSQL = "SELECT CommentID, ParentID FROM Comment WHERE PostID=" . $this->iPostID;
$rsComment = $this->dDatabase->query($sSQL);
while ($aComment = $this->dDatabase->fetch_array($rsComment)) {
$sComment = new comment();
$sComment->load($aComment['CommentID']);
$this->aComments[] = $sComment;
}
}
return $this->aComments;
break;
即數組我得到的形式$這個 - > aComments:
Array
(
[0] => comment Object
(
[iCommentID:comment:private] => 1
[iDatePosted:comment:private] => 17 July 2012
[sContent:comment:private] => Very nice it works now
[iUserID:comment:private] => 1
[iPostID:comment:private] => 1
[iParentID:comment:private] => 0
[dDatabase:comment:private] => database Object
(
[sqliConnection:database:private] => mysqli Object
(
[affected_rows] => 1
[client_info] => 5.5.9
[client_version] => 50509
[connect_errno] => 0
[connect_error] =>
[errno] => 0
[error] =>
[field_count] => 6
[host_info] => Localhost via UNIX socket
[info] =>
[insert_id] => 0
[server_info] => 5.5.9
[server_version] => 50509
[sqlstate] => 00000
[protocol_version] => 10
[thread_id] => 2929
[warning_count] => 0
)
)
)
...
[3] => comment Object
(
[iCommentID:comment:private] => 4
[iDatePosted:comment:private] => 22 July 2012
[sContent:comment:private] => thies is the first reply for a comment
[iUserID:comment:private] => 4
[iPostID:comment:private] => 1
[iParentID:comment:private] => 1
[dDatabase:comment:private] => database Object
(
[sqliConnection:database:private] => mysqli Object
(
[affected_rows] => 1
[client_info] => 5.5.9
[client_version] => 50509
[connect_errno] => 0
[connect_error] =>
[errno] => 0
[error] =>
[field_count] => 6
[host_info] => Localhost via UNIX socket
[info] =>
[insert_id] => 0
[server_info] => 5.5.9
[server_version] => 50509
[sqlstate] => 00000
[protocol_version] => 10
[thread_id] => 2929
[warning_count] => 0
)
)
)
這是我得到我想要這個數組做任何事,每次錯誤
Fatal error: Cannot use object of type comment as array in /Applications/MAMP/htdocs/News/includes/thread.php on line 15
的Thread.PHP是http://www.jongales.com/blog/2009/01/27/php-class-for-threaded-comments/
完全相同的副本任何人都可以幫我請。
謝謝。
'comment'是一個對象,而不是一個數組。您可以使用'$ comment-> iCommentID'來獲取您的值,或者使用[ArrayObject](http://php.net/manual/en/class.arrayobject.php)允許對象作爲數組工作。 – Romain 2012-07-22 08:02:05
仔細閱讀您的錯誤消息。它闡明瞭這個問題。數據結構中的每個註釋行都是一個*對象*,並且您試圖以*數組*的形式訪問它,就像您鏈接到的示例一樣。將所有訪問從'$ comment ['parent_id']'轉換爲'$ comment-> parent_id'。 (另外,'mutithreading'標籤不適合這個問題。) – DCoder 2012-07-22 08:02:21
感謝您的快速回復我會嘗試您的建議。並抱歉標籤我是一個新的這個網站)) – 2012-07-22 08:13:13