Php 为什么我的数据要加倍?
出于某种原因,当我显示预订引擎的结果时,它会显示如下结果: 主房间Php 为什么我的数据要加倍?,php,Php,出于某种原因,当我显示预订引擎的结果时,它会显示如下结果: 主房间 主房间2 主房间 主房间2 空余房间 备用房间2 空余房间 备用房间2 它应显示为: 主房间 主房间2 空余房间 备用房间2 希望有人能明白为什么它会从这一点加倍 <?php $array_rooms =null; if (get_user_meta(get_current_user_id(),'admin',true)) { $admin = true; } else {
主房间2
主房间
主房间2
空余房间
备用房间2
空余房间
备用房间2 它应显示为: 主房间
主房间2
空余房间
备用房间2 希望有人能明白为什么它会从这一点加倍
<?php
$array_rooms =null;
if (get_user_meta(get_current_user_id(),'admin',true)) {
$admin = true;
} else {
$admin = false;
}
?>
<head>
</head>
<body id="results">
<h1>Available <em>Rooms</em></h1>
<table>
<?php
if($array_rooms != null){
foreach($array_rooms as $key=>$room) {
$special = '';
$roomRatePlanID = 119;
if($key==0){
$room['desc'] = "Main Room";
$special = '&whp=1';
$roomRatePlanID = 68;
}
if($key==1){
$room['desc'] = "Main Room 2";
$special = '&whp=1';
$roomRatePlanID = 68;
}
if($key==2){
$room['desc'] = "Spare Room";
$special = '&whp=1';
$roomRatePlanID = 68;
}
if($key==3){
$room['desc'] = "Spare Room 2";
$special = '&whp=1';
$roomRatePlanID = 68;
}
?>
<tr<?php if (!get_user_meta(get_current_user_id(),'admin',true) && strpos($room['desc'],'Main Room') !== false) echo ' class="disabled"'; ?>>
<td>
<div>
<h2><a href="/rooms/" target="_blank"><?php echo $room['desc'] ." " . $room['available'] ;?></a></h2>
<div><?php
if ($room['desc'] == "Main Room"){
echo "<strong>Rate: $89.00</strong>';
}elseif(($room['desc'] == "Main Room 2")){
echo "<strong>$79.00</strong>";
} else{
if ($admin)
$netrate = number_format($room['rates'][119],2);
else
$netrate = number_format($room['rates'][20] - ($room['rates'][20] / 100 * get_user_meta(get_current_user_id(),'package',true)),2);
echo "Customer Rate: <strong>$".number_format($room['rates'][20],2).'</strong> / Net Rate: <strong>$'.$netrate.'</strong>';
}?></div>
<div><a href="/book/summary?roomTypeCode=<?php echo $room['roomTypeCode'] . $special;?>">Book</a></div>
</div>
</td>
</tr>
<tr<?php if (!get_user_meta(get_current_user_id(),'admin',true) && strpos($room['desc'],'Main Room') !== false) echo ' class="disabled"'; ?>>
<td>
<div>
<h2><a href="/rooms/" target="_blank"><?php echo $room['desc'] ." " . $room['available'] ;?></a></h2>
<div><?php
if ($room['desc'] == "Spare Room"){
echo "<strong>Rate: $59.00</strong>';
}elseif(($room['desc'] == "Spare Room 2")){
echo "<strong>$49.00</strong>";
} else{
if ($admin)
$netrate = number_format($room['rates'][119],2);
else
$netrate = number_format($room['rates'][21] - ($room['rates'][21] / 100 * get_user_meta(get_current_user_id(),'package',true)),2);
echo "Customer Rate: <strong>$".number_format($room['rates'][20],2).'</strong> / Net Rate: <strong>$'.$netrate.'</strong>';
}?></div>
<div><a href="/book/summary?roomTypeCode=<?php echo $room['roomTypeCode'] . $special;?>">Book</a></div>
</div>
</td>
</tr>
<?php } }else{ echo 'no results'; }?>
</body>
</html>
可用房间
据我所知,这整件事都是针对每个$room
执行的。每种情况下都会打印h2
s。它们都echo$room['desc']
,其中似乎包含您只想拥有一次的字符串。所以我想你只要把你的第一个…
包装在if($room[desc]==“Main room”| |$room[desc]==“Main room 2”):
<代码>endif代码>。第二个和备用房间
一样。然而,如果你的描述不是这四个值中的任何一个,我不知道你想做什么。现在打印这两个
是有意义的,因为
中的其他条件似乎不同。谢谢m.buettner-如果这些房间可用,并且以管理员身份登录,那么应该显示它们。每个房间只显示两次。如果我用|
将它们包装起来,那么我必须根据房间的不同,在语句中显示每个房间的不同价格……对不起,这个问题确实缺乏上下文。像这样帮助你很难。您只是插入了一个非常精简的版本,并转储了部分代码(由于引号不匹配,甚至会抛出大量错误)。请告诉我们您实际想要实现什么,以及这些变量代表什么。也许有人能帮你。没问题,我会在几分钟内更新这个问题。我只是想,如果有人愿意帮忙,比如你自己,可能会更难翻找一大堆代码。再次感谢您,您应该能够删除大部分代码,并显示说明错误的最小值。您应该已经完成了调试anyway@Dagon:更新代码,谢谢。根据你的建议,我将通过删除一些代码来开始调试:)这不是你用来生成结果的代码,显示了它的语法错误。这显然不是完整的代码,但这是被复制的部分。如果您发现上述错误,请让我知道。谢谢大家!@Dave主要是这样:echo“速率:$59.00”;
…你有两次了。@m.buettner:更新了代码m.buettner,谢谢。仍然有错误,因此你实际使用的不是什么。除此之外,变量转储($array\u rooms)也会有所帮助