mysql查询里面循环

时间:2016-07-23 09:17:26

标签: php mysql

我有两张桌子。在表-A中存储数据,并在表B中存储用于对应表-A

的注释

表-A结构

id  content     title   likes   comments_count 

id是自动增量,内容是数据。

表B结构

        id  joke_id Description 

表-B joke_id和Table-A id对应的数据相同。

我正在使用此查询从表A显示5行,并希望为每个表显示3个注释-A数据,但它显示与表-B中所有5行的表-A id数据相对应的相同内容。 将举例说明,使其更加清晰

$res2 = $con->query("SELECT * FROM `Table-A` order by id desc limit 5");

while($row2 = $res2->fetch_assoc()){
    $likes = $row2['likes'];
    $comment = $row2['comments_count'];
        $cont= $row2['content'];

$idd=$row2['id'];

$res29 = $con->query("Select * from `Table-B` where joke_id='$idd' order by id desc limit 4");

while($row29 = $res29->fetch_assoc()){
            $contpp= "";

    $contpp .= '<li>'.$row29['description'].'<p></li>';


   }

 }




$output .='<div id="'.$idd.'"  align="left" class="messagelove_box" ><div class="content_box_1">
         <div class="content_box_3_text">'.nl2br($cont).'</div> 

        <div id="header'.$idd.'" class="content_box_31_text"><ul id="commentlist" class="justList">'.$contpp.'</ul></div>



</div></div>
';
  }

但它显示每行的前4条评论相同。

1 个答案:

答案 0 :(得分:0)

在表名中使用反引号

 $res29 = $con->query("Select * from `Table-B` where joke_id='$idd' order by id desc limit 4");

现场演示:

  1. 没有反引号:http://sqlfiddle.com/#!9/6cefc4/1

  2. 使用反引号:http://sqlfiddle.com/#!9/6cefc4/2

  3. $output ="";

    之前使用$output .=