我试图通过显示价格,名称等来从我的酒店网站列出房间。 虽然上市有两个区域,我使用房间的价格,第一个正确显示房间的价格,但第二个价格显示在仪表板显示基本价格*夜晚显示(在每一行)第一排的价格。
这是选择代码(没什么特别的):
$sqlx=sprintf("Select * from quartos");
$resx=mysqli_query($ligacao,$sqlx);
这是上市代码:
<?php
while($regx=mysqli_fetch_array($resx)){
?>
<div class="room-box">
<form method="post">
<div class="col-md-5 room-img" data-bg-img="<?php echo $regx['nome_doc'];?>">
<div class="select-room-box">
<a href="booking-2.php?id=<?php echo $regx['id'];?>">Selecione Este Quarto</a>
</div>
</div>
<div class="r-sec col-md-7">
<div class="title-box">
<div class="title"><?php echo $regx['nome'];?></div>
<div class="price">
<div class="title">Preço :</div>
<div class="value"><?php echo $regx['preco'];?>€</div>
</div>
<a href="#price-break-down-1" class="price-breakdown"><i class="fa fa-caret-right"></i>Lista de Preços</a>
<div id="price-break-down-1" class="price-breakdown-popup mfp-hide">
<table>
<tr>
<td>
<div class="title">Preço Base</div>
<div class="duration">x
<?php
$diff= date_diff($entrada,$saida);
echo $diff->format("%a noites");
?>
</div>
</td>
<td class="price"><?php echo $regx['preco'];?>€</td>
</tr>
<tr>
<td>
<div class="title">Total</div>
<div class="duration"><?php echo $diff->format("%a noites")?></div>
</td>
<td class="price"><?php echo $regx['preco']*$diff->format("%a noites") ;?>€</td>
</tr>
</table>
</div>
</div>
</div>
</form>
</div>
<?php
}
?>
我知道这有点令人困惑,但我很匆忙而且只是粘贴了代码(我第一次在这里发帖),我所说的是{16}行echo $regx['preco']
从标签php开始计算。< / p>
从标签php计算的第31个中的第一个echo $regx['preco']
显示正确的价格,但第二个始终显示第一个结果的价格。
我的问题是为什么$regx['preco']
在同一行显示不同的结果
这是我的房间列表,它们都有不同的价格编号一个90€和一个100€但是当我打开仪表板时它只显示所有行的90€
答案 0 :(得分:0)
由@CBroe在评论中发布,您的问题是由您为详细的prives生成的链接引起的:
while($regx=mysqli_fetch_array($resx)) {
?>
...
<a href="#price-break-down-1" class="price-breakdown">
<i class="fa fa-caret-right"></i>Lista de Preços
</a>
<div id="price-break-down-1" class="price-breakdown-popup mfp-hide">
...
</div>
...
<?php
}
链接的href
属性和id
的{{1}}属性对于所有列表条目都是静态的。因为ID应该是唯一的,它们不是您的情况,链接会搜索给定ID的第一次出现,因此始终打开第一个条目的价格详细信息。
要解决此问题,您需要为每个条目指定唯一ID。这可以通过在每个<div>
和id
附加一个数字来实现。
href
如果您的表格为每一行提供唯一 ID,则应使用该ID代替额外的计数器:
$counter = 1;
while($regx=mysqli_fetch_array($resx)) {
?>
...
<a href="#price-break-down-<?= $counter ?>" class="price-breakdown">
<i class="fa fa-caret-right"></i>Lista de Preços
</a>
<div id="price-break-down-<?= $counter ?>" class="price-breakdown-popup mfp-hide">
...
</div>
...
<?php
$counter++;
}