Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP While循环在另一个循环中,first While不返回其他值_Php_Html_Mysql_Sql_While Loop - Fatal编程技术网

PHP While循环在另一个循环中,first While不返回其他值

PHP While循环在另一个循环中,first While不返回其他值,php,html,mysql,sql,while-loop,Php,Html,Mysql,Sql,While Loop,我对在另一个循环中使用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, C

我对在另一个循环中使用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_返回时:

$aukciono_istorija_,返回时:

使用这两个while循环,表如下所示:www.i.stack.imgur.com/Os8Rx.png不能使用超过2个链接,抱歉


第二个数字0.14不应该在每一行中都是相同的,只有第一个,它应该返回3行$r1=mysql\u fetch\u assoc$aukciono\u istorija\u,而数据库中有3行。我不知道这里出了什么问题,使用一个while循环,一切都很好。有人能帮我吗?

我找到了解决办法。我应该在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 while循环:

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

停止使用不推荐使用的mysql_*API。使用mysqli或pdo是的,我知道。我使用mysql_*是因为使用mysql_*和所有脚本的连接文件都是非常旧的PHP5.6版本,所以我不能使用它:PHP5.6不是旧的。紧接着,7.0发布了。您应该更改每个使用不推荐的mysql_*函数的文件。一旦您的提供商切换到PHP7,您的脚本将不再运行。