Heim >Backend-Entwicklung >PHP-Tutorial >PHP implementiert das Changyan-Message-Board und den NetEase-Post-Stil
Dieser Artikel stellt hauptsächlich die Implementierung des Changyan-Message-Boards und des NetEase-Poststils in PHP vor. Ich hoffe, dass er für alle hilfreich ist.
Ändern des Message-Board-Stils:
NetEase-Beitragsstil:
Prinzip
Sie müssen zwei Hauptfelder, id und pid, zur Kommentartabelle hinzufügen nach Belieben hinzugefügt werden, z. B. Artikel-ID, Antwortzeit, Antwortinhalt, antwortende Person usw.
Die PID ist die ID des Kommentars, auf den derzeit geantwortet wurde.
Wie Sie auf dem Bild oben sehen können, ist die PID jeder Ebene die ID des Kommentars auf der vorherigen Ebene. Schauen Sie sich das Layout oben genauer an. Ist es mit mehrdimensionalen Arrays in PHP vergleichbar? Wenn Sie es sich vorstellen können, ist es einfach.
Implementierungsmethode1. Rezeption: Dies ist relativ einfach, es ist in p eingebettet. Stellen Sie dann den Rand- und Randabstand von p ein.
<p class="comment"> <p class="comment"> <p class="comment"> </p> </p> </p> <p class="comment"> </p>
2. Backstage: Es werden zwei Rekursionen verwendet. Zunächst wird die Rekursion verwendet, um die Ergebnisse in der Datenbank neu zu organisieren. Verwenden Sie nach der Reorganisation die Rekursion, um den obigen Front-End-Code auszugeben Die Struktur und der Inhalt der Kommentartabelle lauten wie folgt
und werden dann direkt gelesen Der Inhalt dieser Tabelle Alle Kommentare. Sie können das folgende Array erhalten:
Array ( [0] => Array ( [id] => 1 [pid] => [content] => 评论1 ) [1] => Array ( [id] => 2 [pid] => [content] => 评论2 ) [2] => Array ( [id] => 3 [pid] => [content] => 评论3 ) [3] => Array ( [id] => 4 [pid] => 1 [content] => 评论4回复评论1 ) [4] => Array ( [id] => 5 [pid] => 1 [content] => 评论5回复评论1 ) [5] => Array ( [id] => 6 [pid] => 2 [content] => 评论6回复评论2 ) [6] => Array ( [id] => 7 [pid] => 4 [content] => 评论7回复评论4 ) [7] => Array ( [id] => 8 [pid] => 7 [content] => 评论8回复评论7 ) [8] => Array ( [id] => 9 [pid] => 8 [content] => 评论9回复评论8 ) [9] => Array ( [id] => 10 [pid] => 8 [content] => 评论10回复评论8 ) )
Dann müssen wir dieses Array in das obige Message-Board-Formular umstrukturieren
, wobei $array das oben gelesene Array ist. Nehmen Sie zunächst die PID heraus, die standardmäßig leer ist . Nachdem Sie das Array
public static function tree($array,$child="child", $pid = null) { $temp = []; foreach ($array as $v) { if ($v['pid'] == $pid) { $v[$child] = self::tree($array,$child,$v['id']); $temp[] = $v; } } return $temp; }
, dessen PID die aktuelle Kommentar-ID ist, herausgenommen und neu organisiert haben, können Sie das folgende Array erhalten. Sie können sehen, dass der Stil dieses Arrays dem vorderen Kommentar sehr ähnlich ist Stil
Array ( [0] => Array ( [id] => 1 [pid] => [content] => 评论1 [child] => Array ( [0] => Array ( [id] => 4 [pid] => 1 [content] => 评论4回复评论1 [child] => Array ( [0] => Array ( [id] => 7 [pid] => 4 [content] => 评论7回复评论4 [child] => Array ( [0] => Array ( [id] => 8 [pid] => 7 [content] => 评论8回复评论7 [child] => Array ( [0] => Array ( [id] => 9 [pid] => 8 [content] => 评论9回复评论8 [child] => Array ( ) ) [1] => Array ( [id] => 10 [pid] => 8 [content] => 评论10回复评论8 [child] => Array ( ) ) ) ) ) ) ) ) [1] => Array ( [id] => 5 [pid] => 1 [content] => 评论5回复评论1 [child] => Array ( ) ) ) ) [1] => Array ( [id] => 2 [pid] => [content] => 评论2 [child] => Array ( [0] => Array ( [id] => 6 [pid] => 2 [content] => 评论6回复评论2 [child] => Array ( ) ) ) ) [2] => Array ( [id] => 3 [pid] => [content] => 评论3 [child] => Array ( ) ) )
Nachdem Sie das obige Array erhalten haben, verwenden Sie die Rekursion, um es auszugeben
public static function traverseArray($array) { foreach ($array as $v) { echo "<p class='comment' style='width: 100%;margin: 10px;background: #EDEFF0;padding: 20px 10px;border: 1px solid #777;'>"; echo $v['content']; if ($v['child']) { self::traverseArray($v['child']); } echo "</p>"; } }
Dann können Sie sehen
Das Prinzip ist so Es dient dazu, das Array neu zu organisieren und dann einfach die Ausgabe zu durchlaufen.
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:
Die Rolle anonymer PHP-Funktionen und -Abschlüsse
PHPs Methode zum Sortieren zweidimensionaler Arrays
So legen Sie Header-Informationen in PHP fest
Das obige ist der detaillierte Inhalt vonPHP implementiert das Changyan-Message-Board und den NetEase-Post-Stil. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!