【发布时间】:2017-11-27 20:37:45
【问题描述】:
我在使用 while 循环时遇到问题。虽然循环有效,但它不会在一行中返回数据。我知道为什么会这样,但我不知道如何解决它。
$bonusai = mysql_query("SELECT summa, date FROM tb_history WHERE type =
'bonus' AND user_id = '$usid' ORDER BY id DESC");
while ($r1 = mysql_fetch_assoc($bonusai)) { ?>
<tr>
<td>
<?php echo ($r1['summa'] == 0.01) ? date('Y-m-d H:i:s', $r1['date']) : ''; ?>
</td>
<td colspan="2">
<?php echo ($r1['summa'] == 0.01) ? '+' : ''; ?>
</td>
<td>
<?php echo ($r1['summa'] == 0.02) ? date('Y-m-d H:i:s', $r1['date']) : ''; ?>
</td>
<td colspan="2"><?php echo ($r1['summa'] == 0.02) ? '+' : ''; ?></td>
</tr>
<?php } ?>
$bonusai查询结果:
如您所见,该行中只有一个结果。它应该像这样在同一行中显示两个数据(使用检查元素更改):
在我看来,我应该用 if 三元运算符和 while 循环来改变一些东西,或者改变查询结构。也许我应该使用嵌套的while循环?所有数据都在同一个 MySQL 表中,所以我不能使用 JOIN。我应该使用什么来使每条 MySQL 记录在同一行中?
PS 我知道,我不应该使用已弃用的mysql_*。
【问题讨论】:
标签: php html mysql select while-loop