2017-11-12 9 views
0

私が見たほとんどのチュートリアルでは、topic_count intをデータベースに保存してトピックを作成するたびにロジックが分かりますその特定のフォーラムで作成したもので、作成したフォーラムのtopics_count +1を増やします。フォーラムに関連する記事の総数をカウントする - PHP Logic

代わりにmysqli_num_rowsを使用して値を取得すると、これを達成できませんか?これは、フォーラムとの関係で合計行(トピック)を返します。しかし、問題は、フォーラムが配列の中にあるときにどうやってその関係を作成できるかということです。私はセキュリティ上の問題を認識してい

  • ID
  • タイトル
  • 説明

両方フォーラムおよびトピックを持っています。この例は単なる習慣です。

これは、データベースからフォーラムを表示し、各フォーラムにhrefをエコーする方法です。

   $array_forums = mysqli_fetch_assoc($res_forums); 
        echo "<div id='forum_{$array_forums["forum_id"]}' class='forum_classic'>"; 
         echo "<div id='forum_classic_status'></div>";       
         echo "<div id='forum_classic_container'>"; 
          echo "<div id='forum_classic_icon'></div>"; 
          echo "<div id='forum_classic_description'>"; 
            echo "<a href=forum.php?forum=" . urlencode($array_forums["forum_id"]) . ">"; 
             echo "<h1>{$array_forums["forum_title"]}</h1>"; 
            echo "</a>"; 
           echo "<p>{$array_forums["forum_description"]}</p>"; 
          echo "</div>"; 
         echo "</div>"; 
         echo "<div id='forum_classic_topics'>Topics</div>"; 
         echo "<div id='forum_classic_replies'>Replies</div>"; 
         echo "<div id='forum_classic_lastposter'>Lastposter</div>"; 
        echo "</div>"; 
       } 

これは、リンクをクリックした後、各フォーラムのトピックを表示する方法です。あなたが行

の$ numが@Anilシュレスタ、$ num個の意志の助けを借りて、特定のフォーラム

+0

私はあなたが、それは基本的にこれは私がフォーラムを表示するために使用したコードとそれに関連するトピックである –

+0

説明することができます要件を理解することができないのですが、今私はカウントする、話題のカウンターを実装する方法を疑問に思いますフォーラムの中にいくつのトピックがあるか。 – Knightwalker

+0

$ sql_topic = "SELECT *トピックからWHERE topic_forum_id = {$ forum_id}カウント(ID)としてカウント";あなたのデータベースでidを使用しない場合は、idを別のものに変更してください。 var_dumpで$ sql_topicを実行すると、 'count'がキーとして認識され、その隣に値が表示されます。私に知らせてもらえますか? –

答えて

1

トピックカウンターとして機能します。

    $sql_topic = "SELECT count(*) FROM topics WHERE topic_forum_id = {$array_forums["forum_id"]}"; 
        $res_topic = mysqli_query($conn, $sql_topic); 
        $row = mysqli_fetch_row($res_topic); 
        $num = $row[0]; 
+0

あなたの助けを借りて、私はそれをすることができました。しかし、これはフォーラムと同じページで動作する必要があったため、私は少し微調整を行い、URLからフォーラムをクリックすると{$ forum_id}を取得していました。 – Knightwalker

1

でトピックの数を返します

$sql_topic = "SELECT count(*) FROM topics WHERE topic_forum_id = {$forum_id}"; 
$row = mysqli_fetch_row($sql_topic); 
$num = $row[0]; 
の数をカウントし、カウントを使用することができます

  $forum_id = $_GET['forum']; 

      //1. Perform database query for topics 
      $sql_topic = "SELECT * FROM topics WHERE topic_forum_id = {$forum_id}"; 
      $res_topic = mysqli_query($conn, $sql_topic); 
      //2. Display returned data from topics 
      if (mysqli_num_rows($res_topic) >= 1) { 
       $array_topic = mysqli_fetch_assoc($res_topic); 
       echo "<div id='topic_{$array_topic["topic_id"]}'>{$array_topic["topic_title"]}"; 
       echo "</div>"; 
      } else { 
       echo "<a href='community.php'>Return To Forum Index</a>"; 
       echo "<p>There are no topics in this forum yet.</p>"; 
      } 
+0

偉大なそれを仲間に保つ –

関連する問題