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)