データベースから Web ページにコメントのリストを表示するために使用している PHP コードがあります。
コード-
while ($row = mysqli_fetch_assoc($query)) { // Loop through results of query
if ($row['depth'] > $cur_depth) {
if($row['depth'] == 1){
echo "<ul>\n";
runthis();
$cur_depth = $row['depth'];
}
else if($row['depth'] == 2){
echo "<ul class='selected'>\n";
runthat();
$cur_depth = $row['depth'];
}
else{
echo "<ul>\n";
runthats();
$cur_depth = $row['depth'];
}
}
else while ($cur_depth > $row['depth']) {
echo "</ul>\n";
$cur_depth--;
}
function runthis(){
echo "<li id=" .$row['depth'] . " class='some_class'>" . $row['comment'] . " id-". $row['category_id'] ."<a href='' id='toggle-cm'>reply</a><br/><div id='commentarea'><textarea row=5 cols=40>write something here...</textarea><br/><button id=" . $row['category_id'] . ">reply to this comment</button></div></li>\n";
}
function runthat(){
echo "<li id=" .$row['depth'] . ">" . $row['comment'] . " id-". $row['category_id'] ."<a href='' id='toggle-cm'>reply</a><br/><div id='commentarea'><textarea row=5 cols=40>write something here...</textarea><br/><button id=" . $row['category_id'] . ">reply to this comment</button></div></li>\n";
}
}
while ($cur_depth > -1) {
echo "</ul>\n";
$cur_depth--;
}
それが行うことは、SQL データベースからコメントを取得し、階層的に表示することです。$row['depth']
コメントの深さを格納する変数です。ここで、= 1 の要素にクラスを追加し、= 2 の要素にいくつかのプロパティを割り当てたいと考えsome_class
ています。<li>
row['depth']
<ul>
row['depth']
元のコードは問題なく動作していましたが、クラスとプロパティを割り当てるために少し変更しました。
オリジナルコード-
while ($row = mysqli_fetch_assoc($query)) { // Loop through results of query
if ($row['depth'] > $cur_depth) {
echo "<ul>\n";
$cur_depth = $row['depth'];
}
else while ($cur_depth > $row['depth']) {
echo "</ul>\n";
$cur_depth--;
}
echo "<li>" . $row['comment'] . "id-". $row['category_id'] ."<a href='' id='toggle-cm'>reply</a><br/><div id='commentarea'><textarea row=5 cols=40>write something here...</textarea><br/><button id=" . $row['category_id'] . ">reply to this comment</button></div></li>\n";
}
while ($cur_depth > -1) {
echo "</ul>\n";
$cur_depth--;
}
今、私が達成したいのは、この元のコードにいくつかの変更を加えることです。これにより、いくつかの異なるプロパティが<li>
を持つ要素に割り当てられ、いくつかの異なるプロパティが深さ 2 を持つ要素にrow['depth'] = 1
適用されます。変更されたコードを使用するとエラーが発生します。<ul>
示しました。
エラー-
Fatal error: Call to undefined function runthat()
どこが間違っていますか?