我正在尝试将“aukciono_id”从一张表转移到另一张表。我试图使用单个 while 循环来做到这一点,也许它会起作用,但主要问题是当用户悬停在元素类“placiau”上时,另一个表显示未悬停 元素的“aukciono_id”。我只是不能使用 while 循环,因为 while 循环会逐一遍历查询。我必须识别每个 <td class="placiau"></td>
“aukciono_id”不知何故。此外,表格应该出现在 hovered 元素旁边,但我会自己修复它。
<table>
<?php
$aukciono_laimetojai_ir_aukciono_istorija_while = mysql_query("SELECT taw.id AS taw_id,
tai.aukciono_id AS tai_aukciono_id, taw.user_id AS taw_user_id, taw.win AS taw_win,
tai.date AS tai_date, taw.date AS taw_date, COALESCE(SUM(tai.bid), 0) AS tai_bid
FROM tb_auction_winners taw JOIN tb_aukciono_istorija tai
ON taw.id = tai.aukciono_id
WHERE tai.user_id = 206 GROUP BY aukciono_id");
$aukciono_istorija1_while = mysql_query("SELECT tab.id, tu.level, tab.user_id, tab.user,
tab.bid, tab.date, tab.aukciono_id FROM tb_aukciono_istorija tab JOIN tb_users tu
ON tab.user_id = tu.id
WHERE tab.aukciono_id = 47 ORDER BY tab.id DESC");
while ($r1 = mysql_fetch_assoc($aukciono_laimetojai_ir_aukciono_istorija_while)) {
if ($r1['taw_user_id'] == 206) { ?>
<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">Plačiau <?php echo $r1['tai_aukciono_id']; ?></td>
</tr>
<?php
} else { ?>
<tr>
<td><?php echo $r1['tai_date']; ?></td>
<td>0 Eur</td>
<td><?php echo $r1['tai_bid']; ?> Eur</td>
<td class="placiau">Plačiau <?php echo $r1['tai_aukciono_id']; ?></td>
</tr>
<?php
}
}
?>
</table>
<table id="aukciono_apzvalga" style="
width: 69.7%;
left: 632px;
position: absolute;
top: 590px;
z-index: 1;
opacity: 0;
-webkit-transition: opacity .5s ease-out;
transition: opacity .5s ease-out;
display: block;
overflow-y: auto;
max-height: 480px;">
<?php
while ($r1 = mysql_fetch_assoc($aukciono_istorija1_while)) { ?>
<tr>
<td><?php echo $r1['aukciono_id']; ?></td>
</tr>
<?php } ?>
</table>
<script>
$('.placiau').hover(function() {
$('#aukciono_apzvalga').css('opacity', 1);
}, function() {
$('#aukciono_apzvalga').css('opacity', 0);
});
</script>
想象一下它的样子:
例如,当用户悬停“42”时,它应该显示 42,而不是其他表中的 47 以及“$aukciono_istorija1_while”查询中的 47。有可能吗?
PS:我知道,我应该使用 mysqli_*
或 PDO
而不是 mysql_*
最佳答案
你只有一个循环生成的表,你应该在循环内构建所有可能的表,并给每个表一个与aukciono_id
相关的不同id,然后在悬停函数中,获取目标 aukciono_id
并显示与此 ID 相关的表。
试试这个:
<?php
$aukciono_laimetojai_ir_aukciono_istorija_while = mysql_query("SELECT taw.id AS taw_id,
tai.aukciono_id AS tai_aukciono_id, taw.user_id AS taw_user_id, taw.win AS taw_win,
tai.date AS tai_date, taw.date AS taw_date, COALESCE(SUM(tai.bid), 0) AS tai_bid
FROM tb_auction_winners taw JOIN tb_aukciono_istorija tai
ON taw.id = tai.aukciono_id
WHERE tai.user_id = 206 GROUP BY aukciono_id");
$aukciono_istorija1_while = mysql_query("SELECT tab.id, tu.level, tab.user_id, tab.user,
tab.bid, tab.date, tab.aukciono_id FROM tb_aukciono_istorija tab JOIN tb_users tu
ON tab.user_id = tu.id
WHERE tab.aukciono_id = 47 ORDER BY tab.id DESC");
?>
<table>
<?php
while ($r1 = mysql_fetch_assoc($aukciono_laimetojai_ir_aukciono_istorija_while)) {
if ($r1['taw_user_id'] == 206) { ?>
<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 <?php echo $r1['tai_aukciono_id']; ?></td>
</tr>
<?php
} else { ?>
<tr>
<td><?php echo $r1['tai_date']; ?></td>
<td>0 Eur</td>
<td><?php echo $r1['tai_bid']; ?> Eur</td>
<td class="placiau" data-aukciono-id="<?php echo $r1['tai_aukciono_id']; ?>">Plačiau <?php echo $r1['tai_aukciono_id']; ?></td>
</tr>
<?php
}
}
?>
</table>
<?php
while ($r1 = mysql_fetch_assoc($aukciono_istorija1_while)) { ?>
<table class="aukciono_apzvalga" data-aukciono-id="<?php echo $r1['aukciono_id']; ?>" style="
width: 69.7%;
left: 632px;
position: absolute;
top: 590px;
z-index: 1;
opacity: 0;
-webkit-transition: opacity .5s ease-out;
transition: opacity .5s ease-out;
display: block;
overflow-y: auto;
max-height: 480px;">
<tr>
<td><?php echo $r1['aukciono_id']; ?></td>
</tr>
</table>
<?php } ?>
<script>
$('.placiau').hover(function() {
var aukciono_id = $(this).attr('data-aukciono-id');
$('.aukciono_apzvalga[data-aukciono-id="'+aukciono_id+'"]').css('opacity', 1);
}, function() {
$('.aukciono_apzvalga').css('opacity', 0);
});
</script>
关于php - 将 aukciono_id 从一张表转移到另一张表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44671623/