我对在另一个中使用while循环感到有些困惑。第二个循环一切都很好,但第一个循环只返回一个值,它是相同的。
$aukciono_laimetojai_while = mysql_query("SELECT id, user_id, date, win
FROM tb_auction_winners WHERE user_id = 206");
$aukciono_istorija_while = mysql_query("SELECT user_id, aukciono_id,
COALESCE(SUM(bid), 0) AS bid, date FROM tb_aukciono_istorija
WHERE user_id = 206 GROUP BY aukciono_id");
while ($r1 = mysql_fetch_assoc($aukciono_istorija_while)) {
while ($r2 = mysql_fetch_assoc($aukciono_laimetojai_while)) { ?>
<tr>
<td><?php echo $r2['date']; ?></td>
<td><?php echo $r2['win'] - $r1['bid']; ?> Eur</td>
<td>0 Eur</td>
<td>Plačiau <?php echo $r2['win'] . ' - ' . $r1['bid']; ?></td>
</tr>
<?php } } ?>
$aukciono_laimetojai_while
返回:
click here
$aukciono_istorija_while
返回:click here
使用这两个while循环,表格如下所示:(www.i.stack.imgur.com/Os8Rx.png)(不能使用超过2个链接,抱歉)
第二个数字有问题(每行中0.14不应该相同,只有第一个),它应该返回3行($r1 = mysql_fetch_assoc($aukciono_istorija_while
)在数据库中有3行)。我不知道这里有什么问题,使用一个while循环,一切都很好。有人可以帮帮我吗?
答案 0 :(得分:0)
我找到了解决方案。我应该在while循环中只使用一个查询。而不是这段代码:
$aukciono_laimetojai_while = mysql_query("SELECT id, user_id, date, win
FROM tb_auction_winners WHERE user_id = 206");
$aukciono_istorija_while = mysql_query("SELECT user_id, aukciono_id,
COALESCE(SUM(bid), 0) AS bid, date FROM tb_aukciono_istorija
WHERE user_id = 206 GROUP BY aukciono_id");
while ($r1 = mysql_fetch_assoc($aukciono_istorija_while)) {
while ($r2 = mysql_fetch_assoc($aukciono_laimetojai_while)) { ?>
<tr>
<td><?php echo $r2['date']; ?></td>
<td><?php echo $r2['win'] - $r1['bid']; ?> Eur</td>
<td>0 Eur</td>
<td>Plačiau <?php echo $r2['win'] . ' - ' . $r1['bid']; ?></td>
</tr>
<?php } } ?>
我应该使用它(1个查询,1个循环):
$aukciono_laimetojai_ir_aukciono_istorija_while = mysql_query("
SELECT tai.aukciono_id tai_aukciono_id, taw.win taw_win, taw.date taw_date,
COALESCE(SUM(tai.bid), 0) tai_bid FROM tb_auction_winners taw
JOIN tb_aukciono_istorija tai ON taw.id = tai.aukciono_id
WHERE tai.user_id = $usid GROUP BY aukciono_id");
while ($r1 = mysql_fetch_assoc($aukciono_laimetojai_ir_aukciono_istorija_while)) { ?>
<tr>
<td><?php echo $r1['taw_date']; ?></td>
<td><?php echo $r1['taw_win'] - $r1['tai_bid']; ?> Eur</td>
<td>0 Eur</td>
<td class="placiau" data-aukciono-id=
"<?php echo $r1['tai_aukciono_id']; ?>">Plačiau</td>
</tr>
<?php } ?>