-1

我正在尝试用客户预约的时间(例如上午 10:30)填充一个表格,所以我有一个选择框,其中一天中的时间从上午 9:00 到晚上 7:00 以 15 分钟的步长上升(9 :上午 45 点,上午 10:00)。

<select name="times">
<option value="09:00">9:00am</option>
.....
<option value="19:00">7:00pm</option>
</select>

我需要一些如何删除已经存储在数据库中的一些时间

会是这样吗?:

<?php
$times = $_POST['times'];
$dbc = mysqli_connect('localhost', 'root', '', 'salon')
or die('error conneting to mysql');

$query = "SELECT times FROM `clients` WHERE `times` = '$times'";

$result = mysqli_query($dbc, $query);
mysqli_close($dbc);
?>
<select>
<?php
$times = array('09:00','09:15', ..... '19:00');
foreach($times as $time);
while($row = mysql_fetch_array($results)){
 if($row = $time){
unset($time);

echo '<option value="$time">$times</option>';
}
else{ echo 'oh no';
}
?>
</select>

以及类似的东西..反正我就是想不通。

提前感谢所有帮助。

PS 我知道我的代码应该更干净,并包含 strip_tags() mysql_real_escape_string()。这只是为了提问

4

1 回答 1

0

这是完全不成熟的代码示例。您的代码中有很多错误。顺便说一句,以下是正确的:

$times = $_POST['times'];

是一个数组,所以你不能像字符串一样使用它。您必须使用逗号 (,) 分隔符来内爆数组,以便您的变量 $times 可以是这样的

$times_array = "in('09:00','09:30')";

以下是完整示例

<?php

    $times_post = $_POST['times'];

    $times_array = "in('09:00','09:30')";// This will be your string after imploding post array

    $dbc = mysqli_connect('localhost', 'root', '', 'shiv')  or die('error conneting to mysql');

    $query = "SELECT times FROM `clients` WHERE `times` = $times_array";


    $results = mysqli_query($dbc, $query);

    echo "<select>";

    $times = array('09:00','09:15','19:00');

    while($row = mysqli_fetch_array($results)){

        foreach($times as $key => $time){

            if($row[0] == $time){
                unset($times[$key]);

            }else{
                echo 'oh no';
            }
        } 
    }

    $updated_times = array_values($times);

    for ($index = 0; $index < count($updated_times); $index++){
        echo "<option value=$updated_times[$index]>$updated_times[$index]</option>";
    } 

    echo "</select>";

?>

于 2012-04-24T08:51:54.637 回答