0

次のコードは、テーブル CHART および COMMENTS から、MySQL データベースからのコメントを含むメッセージ (ステータス) を取得しています。msg_id がテーブル COMMETS のいずれにも一致しなかったため、コメント フィールドとメッセージが HTML ページに表示されないデータベースからメッセージを返すときに、コードの問題が解消されています。

誰かがこれを解決するのを手伝ってくれますか? または私がこれを行うことができるより良い方法は何ですか?

サンプル コード 注: 最初に、メッセージを作成するために使用しているフォームがあり、次にコメントするメッセージを取得し、コメントされたメッセージの下にコメントを返す次のコードがあります。

<?php
//MYQSL query to select from two tables chart and comments
//this query is not returning anything because the script is dieing ON ch.msg_id=co.comment_id, it cant find co.comment_id because has not yet created.
$result = mysqli_query($con, "SELECT ch.msg , ch.msg_id , co.comment , co.comment_id
                                 FROM chart AS ch
                                 JOIN comments AS co
                                 ON ch.msg_id=co.comment_id
                                 ORDER BY ch.msg_id, co.comment_id");
$last_msg = null;
   while($row = mysqli_fetch_array($result))
   {
   if ($row['msg_id'] !== $last_msg) {
     if ($last_msg !== null) {
       echo "<table>";
     }
     echo "<table border='1' width='600px'>
           <tr>
           <td>
           $row[msg]
           </td>
           </tr>\n";
     $last_msg = $row['msg_id'];
   }

  //all comments should appear here if comment_id match msg_id in COMMENTS table
   echo("
   <tr>
   <td>

   $row[comment]
   <p></p>

   //HTML form which will insert the comments into table COMMENTS
   //this form should appear below each message since its a comment field
   <form action='drop_comment.php' method='post'>
   <input type='text' name='comment' placeholder='drop a comment...' value='' class='add_hook'>
   <input name='comment_id' type='hidden'  value='$row[msg_id]'>
   </form>
   </td>
   </tr>
   ");
   echo "</table>";
   }
   ?>
4

1 に答える 1