Php mysql获取结果

时间:2013-09-06 23:15:35

标签: mysql

我制作了一部电影剧本,但我有一个问题。 脚本的主页包含如下代码:

<div class="box">
<div id="movie"></div><div id="movie"></div><div id="movie"></div>
</div>

我做了一个mysql查询,但我不知道如何回应每个div 3个记录。 我使用此代码进行mysql查询:

$query=mysql_query("select * from movies where id=$id");
while($row=mysql_fetch_assoc($query))
  {
  echo $row['name'];
  }

2 个答案:

答案 0 :(得分:1)

我认为你需要这样的东西

$query = mysql_query("select * from movies");

$result = array();

while($r = mysql_fetch_assoc($query)) {
    $result[$r['id']] = array($r['name'],$r['thumb']);
}

$i = 0;

foreach($result as $id => $data){

    if($i == 0)
    {
        echo "<div class=\"box\">";
        echo "<div id=\"movie\">";
        echo "ID: $id";
        echo "Name: $data[0]";
        echo "Thumb: $data[1]";
        echo "</div>";
        $i = $i + 1;
    }
    elseif($i == 1)
    {
        echo "<div id=\"movie\">";
        echo "ID: $id";
        echo "Name: $data[0]";
        echo "Thumb: $data[1]";
        echo "</div>";
        $i = $i + 1;
    }

    elseif($i == 2)
    {
        echo "<div id=\"movie\">";
        echo "ID: $id";
        echo "Name: $data[0]";
        echo "Thumb: $data[1]";
        echo "</div>";
        echo "</div>";
        $i = 0;
    }

}

答案 1 :(得分:1)

具有相同ID的多个元素?不是个好主意。

如果你的查询返回少于3行,你没有说你想要发生什么。

您可以尝试:

...
$x=0;
while($row=mysql_fetch_assoc($query) && ++$x<=3) {
  echo $row['name'];
}