2017-07-01 24 views
0

私は比較的新しいPHPとSQLを使用しています。自分のページ用の簡単なブログツールを作成しています。 私が持っている2つのテーブルのコメントPHPを使用して2つのテーブルからデータを選択

$servername = "localhost"; 
$username = "root"; 
$password = "password"; 
$dbname = "blog"; 
$conn = new mysqli($servername, $username, $password, $dbname); 
if ($conn->connect_error){ 
    die ("connection failed: " . $conn->connect_error); 
} 
$sql = "SELECT * FROM general WHERE hidden = 'false' ORDER BY id DESC"; 
$result = $conn->query($sql); 
if ($result->num_rows > 0){ 
    while ($row = $result->fetch_assoc()){ 
    echo "<div class='blogpost'> 
      <div class='blogbody'></div>"; 

    //I need to do a query into the comments table at this point to find 
    //all comments matching the criteria to be matched with the post here. 
    echo "<div class='comments'></div></div>"; 
    } 
} 
else{ 
    echo "no posts"; 
} 

私が働いてブログ記事を取得するために管理しますがが含まれているブログの記事や追加情報 コメントが、含まれている一般的な 、できるだけ早く私は

を追加することにより、2番目のクエリを試してみて
$conn2 = new mysqli($servername, $username, $password, $dbname); 
if ($conn2->connect_error){ 
    die ("connection failed: " . $conn2->connect_error); 
} 
$sql2 = "SELECT * FROM comments WHERE $row["parent"] ORDER BY id DESC"; 
$result2 = $conn2->query($sql2); 
if ($result2->num_rows > 0){ 
    while ($row2 = $result2->fetch_assoc()){ 

    } 
} 
else{ 
    echo "no comments"; 
} 

すべてが壊れています。私は追加の記事の読み込みを開始する前に、特定の投稿のすべてのコメントを取得するループをスローすることができません。

どうすればこの問題を解決できますか?

+0

を提供するためのジェフへ

WHERE $row["parent"] ORDER. Change that to WHERE parent={$row['parent']} ORDER 

感謝。これを 'WHERE parent = {$ row ['parent']} ORDER'に変更してください。私は今、列名 'parent'を仮定しました。実際の列名に変更しました。 [それはあなたに構文エラーを与える引用符です] – Jeff

+0

しかし、 'join's – Jeff

+0

と__allways__のエラーを簡単に読むことを確認するためです。 phpとdb(mysqli_error) – Jeff

答えて

0

投稿の主キーを使用することができます。コメントテーブルに外部キーとして使用すると、簡単にクエリを作成できますその特定の投稿に対するすべてのコメント。その後、クエリは次のようになります。

$postid=$row['post_id']; 

$ SQL2 = "SELECT * FROMコメントpost_idの= '$ postid' ORDER BY DESC post_idの";

0

2番目のクエリを変更して問題を修正しました。 `$行[ "親"] ORDER`を:それは壊れるところだこの回答

関連する問題