Php mysql获取结果

Php mysql获取结果,mysql,Mysql,我为电影制作了剧本,但我有个问题。 脚本的主页包含如下代码: <div class="box"> <div id="movie"></div><div id="movie"></div><div id="movie"></div> </div> 我想你需要这样的东西 $query = mysql_query("select * from movies"); $result = array();

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

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

我想你需要这样的东西

$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;
    }

}
$query=mysql\u query(“从电影中选择*);
$result=array();
while($r=mysql\u fetch\u assoc($query)){
$result[$r['id']]=数组($r['name'],$r['thumb']);
}
$i=0;
foreach($id=>$data的结果){
如果($i==0)
{
回声“;
回声“;
回显“ID:$ID”;
echo“名称:$data[0]”;
echo“Thumb:$data[1]”;
回声“;
$i=$i+1;
}
elseif($i==1)
{
回声“;
回显“ID:$ID”;
echo“名称:$data[0]”;
echo“Thumb:$data[1]”;
回声“;
$i=$i+1;
}
elseif($i==2)
{
回声“;
回显“ID:$ID”;
echo“名称:$data[0]”;
echo“Thumb:$data[1]”;
回声“;
回声“;
$i=0;
}
}

是否有多个元素具有相同的id?这不是个好主意

如果查询返回的行数少于3行,您没有说明希望发生什么

您可以尝试:

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

while($row=mysql\u fetch\u assoc($query)&&&++$xI可能非常疯狂,但我想知道为什么此查询会返回多个记录。我做了一些编辑,但确实如此。据我所知,您希望三个三个地显示电影。这通过首先使用$query选择数据库中的每一部电影,然后将结果转换为数组来实现。然后我们继续通过数组中的每一行(就像数据库中的每一行)并相应地处理它。为了使它三乘三,我们创建if()条件。$i以0开头,因此上面的if()条件将是第一个为真的条件。在这里,我们启动框并添加第一个电影,并将1添加到$i,以便下一个/中间的if()条件如果()声明我们只需添加另一个电影div,然后再次向$i添加1。然后,最后添加最后一个电影div并完成box div。然后重置$i以重新开始。抱歉,我做了一些编辑并测试了它。它现在在我的环境中工作正常。让我知道。现在作为sharm工作!谢谢:3没有问题。我很高兴:)PHP本身并没有一种从多行查询返回数组的好方法。是的,它确实有——它不一定给出您想要的结果——但我已经指出,您并没有说这是什么。
...
$x=0;
while($row=mysql_fetch_assoc($query) && ++$x<=3) {
  echo $row['name'];
}