2012-04-24 57 views
-1

我試圖填充次表排除那些已經在客戶端已預訂的預約(如10:30 AM) 所以我有一個選擇包括從上午9點到下午7點的時間以15分鐘的步驟(9:45 am,10:00 am)上升。在PHP你怎麼處理充滿倍HTML選擇框,在MySQL

<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> 

以及類似的東西..反正我只是無法弄清楚。

在此先感謝所有幫助。

P.S我知道我的代碼應該是更清潔,包括用strip_tags()mysql_real_escape_string()。 這只是提出一個問題

回答

0

的目的,這是一個完全的代碼過早例子。你的代碼中有很多錯誤。 BTW以下是正確的:

$times = $_POST['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>"; 

?> 

+0

耶代碼只是關閉我的頭頂..我應該先試過,但是謝謝。 – vinstah 2012-04-24 11:06:47

+0

如果您發現答案足夠了,請您接受。 – dirtyhandsphp 2012-04-24 11:32:01