Php 如何在While语句中运行While语句以从数据库中获取值?

Php 如何在While语句中运行While语句以从数据库中获取值?,php,mysql,phpmyadmin,mysql-management,Php,Mysql,Phpmyadmin,Mysql Management,以下是我的功能: $result_display = mysql_query("SELECT * FROM Events ORDER BY TimeStamp DESC LIMIT $y, 20"); $result_comment = mysql_query("SELECT * FROM Comments"); while($row_display = mysql_fetch_array($result_display)){ echo "<di

以下是我的功能:

        $result_display = mysql_query("SELECT * FROM Events ORDER BY TimeStamp DESC LIMIT $y, 20");
        $result_comment = mysql_query("SELECT * FROM Comments");


while($row_display = mysql_fetch_array($result_display)){
    echo "<div id='id'" . $row_display['ID'] . " class='eventdiv' data-sort='".$row_display['TimeStamp']."'>".$row_display['Title']." TIME: ".$row_display['TimeStamp']."</div>";

    while($row_comment = mysql_fetch_array($result_comment)){
        echo $row_comment['com_details'];
    }

}
$result\u display=mysql\u查询(“按时间戳DESC LIMIT$y从事件顺序中选择*20”);
$result\u comment=mysql\u查询(“从注释中选择*);
while($row\u display=mysql\u fetch\u array($result\u display)){
回显“$row_display['Title']”。时间:“$row_display['TimeStamp']”;
while($row\u comment=mysql\u fetch\u array($result\u comment)){
echo$row_comment['com_details'];
}
}
HTML输出与此类似:

<div id='id12' class='eventdiv' data-sort='238781>Time: 238781</div>
<div id='id13' class='eventdiv' data-sort='238784>Time: 238784</div>
<div id='id14' class='eventdiv' data-sort='238785>Time: 238785</div>
<div id='id15' class='eventdiv' data-sort='238789>Time: 238789</div>
<div id='id16' class='eventdiv' data-sort='238791>Time: 238791</div>
<div id='id17' class='eventdiv' data-sort='238795>Time: 238795</div>

These are the comment details...
时间:238784
时间:238789
时间:238795
以下是评论详情。。。
但我希望输出如下:

<div id='id12' class='eventdiv' data-sort='238781>Time: 238781</div>

These are the comment details...

<div id='id13' class='eventdiv' data-sort='238784>Time: 238784</div>

These are the comment details...

<div id='id14' class='eventdiv' data-sort='238785>Time: 238785</div>

These are the comment details...

<div id='id15' class='eventdiv' data-sort='238789>Time: 238789</div>

These are the comment details...

<div id='id16' class='eventdiv' data-sort='238791>Time: 238791</div>

These are the comment details...

<div id='id17' class='eventdiv' data-sort='238795>Time: 238795</div>

These are the comment details...
时间:238784
以下是评论详情。。。
时间:238789
以下是评论详情。。。
时间:238795
以下是评论详情。。。

我原以为在while语句中包含while语句的方式会像上面的HTML那样显示它,但事实并非如此。

在第一次运行$result\u comment结果后,必须使用
mysql\u data\u seek($result\u comment)
重置它。因此:

while($row_display = mysql_fetch_array($result_display)){
    echo "<div id='id'" . $row_display['ID'] . " class='eventdiv' data-sort='".$row_display['TimeStamp']."'>".$row_display['Title']." TIME: ".$row_display['TimeStamp']."</div>";

    while($row_comment = mysql_fetch_array($result_comment)){
        echo $row_comment['com_details'];
    }

    mysql_data_seek( $result_comment );

}
while($row\u display=mysql\u fetch\u array($result\u display)){
回显“$row_display['Title']”。时间:“$row_display['TimeStamp']”;
while($row\u comment=mysql\u fetch\u array($result\u comment)){
echo$row_comment['com_details'];
}
mysql\u data\u seek($result\u comment);
}

您需要在
循环期间对第一个
中的每个元素运行查询。目前,没有任何评论与每个事件相关联:


$result\u comment=mysql\u query(“从注释中选择*,其中[id]=$id”)

@DemianBrecht,我将把这两个表关联起来,我只是还没有这样做。不需要有一个协会来获得我所需要的- @Jed,我不知道为什么,但你提出的解决方案产生了这个错误:

'Wrong parameter count for mysql_data_seek()'
我发现了它不起作用的原因,第二个fetch函数需要放在第一个while语句中。否则,它将在完成后立即执行:

    $result_display = mysql_query("SELECT * FROM Events ORDER BY TimeStamp DESC LIMIT $y, 20");

while($row_display = mysql_fetch_array($result_display)){
    echo "<div id='id'" . $row_display['ID'] . " class='eventdiv' data-sort='".$row_display['TimeStamp']."'>".$row_display['Title']." TIME: ".$row_display['TimeStamp']."</div>";

    while($row_comment = mysql_fetch_array($result_comment)){

       $result_comment = mysql_query("SELECT * FROM Comments");
       echo $row_comment['com_details'];

    }

}
$result\u display=mysql\u查询(“按时间戳DESC LIMIT$y从事件顺序中选择*20”);
while($row\u display=mysql\u fetch\u array($result\u display)){
回显“$row_display['Title']”。时间:“$row_display['TimeStamp']”;
while($row\u comment=mysql\u fetch\u array($result\u comment)){
$result\u comment=mysql\u查询(“从注释中选择*);
echo$row_comment['com_details'];
}
}

很简单

我强烈建议您使用我的解决方案,这样您就不会每次都对数据库进行新的查询。也许你所需要的只是:
mysql\u data\u seek($result\u comment,0)