gpt4 book ai didi

javascript - 当IF满足要求时停止Do While LOOP

转载 作者:行者123 更新时间:2023-12-03 08:13:17 26 4
gpt4 key购买 nike

我尝试在 stackoverflow 中找到解决方案来解决我的问题,但没有一个与我的问题相符。

我的问题是;

我的 javascript 中有 if 语句,其中 if 语句 有一个弹出窗口。我希望我的 JavaScript 仅当 if 语句 满足条件时才显示弹出窗口 1 次。我尝试在if语句中使用break,但它仍然多次显示弹出窗口。

代码:

<?php
if(isset($_POST['submit'])){

$reserve_stime = htmlentities($_POST['starttime']);
$reserve_etime = htmlentities($_POST['endtime']);

$reservedstime = "SELECT startmeetingtime, endmeetingtime
FROM meeting_room_reservation
WHERE room_reserve_session = '$varsession'
AND room_reserve_date = '$convardate'
AND room_id = $idroom";
$result7=mysql_query($reservedstime) or die("invalid query:".mysql_error());
while($row7=mysql_fetch_assoc(@$result7)){
$reservedstime2 = "SELECT timereserve_start_id
FROM timereserve_start
WHERE timereserve_start_id BETWEEN " . $row7['startmeetingtime'] . " AND " . $row7['endmeetingtime'] . "";
$result8=mysql_query($reservedstime2) or die("invalid query:".mysql_error());

while ($row8=mysql_fetch_assoc(@$result8)) {
$timealreadyreserved = $row8['timereserve_start_id'];

echo "<script type='text/javascript'>

for (i=$reserve_stime; i <= $reserve_etime ; i++){

if (i == $timealreadyreserved){
alert('Time is not Available');
break;
}
else{
//do nothing
}
}

</script>";

}

}
}
?>

我的 friend 说,问题是在for循环之前有dowhile循环,所以这就是为什么弹出窗口仍然显示几个有时甚至已经将 break 放入 if 语句

有什么想法吗?谢谢你,费扎尔

最佳答案

您可以使用 bool 变量(如$flag)来检查条件是否满足,然后跳出循环,如下所示:

// your code

while($row7=mysql_fetch_assoc(@$result7)){
$reservedstime2 = "SELECT timereserve_start_id
FROM timereserve_start
WHERE timereserve_start_id BETWEEN " . $row7['startmeetingtime'] . " AND " . $row7['endmeetingtime'] . "";
$result8=mysql_query($reservedstime2) or die("invalid query:".mysql_error());

$flag = false;
while($row8=mysql_fetch_assoc(@$result8)) {
$timealreadyreserved = $row8['timereserve_start_id'];

for ($i=$reserve_stime; $i <= $reserve_etime ; $i++){
if($i == $timealreadyreserved){
$flag = true;
?>
<script>alert("Time is not Available");</script>
<?php
break;
}
}
if($flag){
break;
}
}
if($flag){
break;
}

}

// your code

警告:不要在代码中混合使用 javascript 和 php,就像在内部 for 循环中那样。

旁注:不要使用 mysql_ 数据库扩展,它们在 PHP 5.5.0 中已被弃用,并在 PHP 7.0.0 中被删除。请改用 mysqliPDO 扩展。这是why you shouldn't use mysql_ functions .

关于javascript - 当IF满足要求时停止Do While LOOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34056874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com