-3

データベースから 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'] . " &nbsp;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'] . " &nbsp;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()

どこが間違っていますか?

4

1 に答える 1

2

交換:

runthats();

runthat();

しばらく使用しないでください

于 2012-08-22T10:08:00.323 に答える