首页 > 解决方案 > 根据数据库记录和先前选择的选项显示选项

问题描述

假设我有两个选择块。第一个是星期几,第二个是时间。在我的 phpmyadmin 数据库中,我记录了一些日期和时间(星期二,13.30;星期五 17.00 等)。所以问题是我怎样才能只显示一天中那些不在数据库中的时间作为选项。

第一个用户应该选择一天。如果他选择了一天,我将其记录在一个变量中,然后向他展示下一个选择块。我试过!empty($_POST['day'])了,但它不起作用。

我不明白我应该如何将当天的选择选项值(当用户通过单击它进行选择时)记录到变量(如果用户选择了 Tuesday $weekday = "tuesday", if Monday, $weekday = "monday"),所以稍后我可以将它与记录进行比较如果同一天的同一时间有记录,则跳过数据库。

我从上午 9 点到晚上 11 点每半小时迭代一次

<select name="day" id="day">
    <option value="">Day</option>
    <option value="monday">Monday</option>
    <option value="tuesday">Tuesday</option>
    <option value="wednesday">Wednesday</option>
    <option value="thurthday">Thurthday</option>
    <option value="friday">Friday</option>
</select>

<?php 
$weekday = "";
if(isset($_POST['day'])){
    $weekday = $_POST['day'];
}
if( !empty($weekday) ){ ?>
<select name="time" id="time"><?php
    for($i = 9; $i < 23; $i+=0.5){?>
        <option value="<?php echo $i; ?>"><?php echo $i; ?></option><?php
    }?>
</select>
<?php } ?>

标签: phphtml

解决方案


因此,在我的 *.php 文件中的脚本标签中,我分配了一个带有 PHP 值的 JavaScript 变量,其中包含来自 db 的所有日期记录,例如

<script>
    let optionsArr = '<?php echo variable_with_values_from_db ?>'
</script>

然后我可以使用 JavaScript 检查所有内容,并在进一步的输入中更改可能的变体


推荐阅读