予約システムを作ってるんですが、例えば2021年1月31日の10:00で予約があった場合、次見る人はその部分を"disabled"で押せないようにしたいで
す。
そのために、DBに2021年1月31日の10:00のデータがあった場合"disabled"にするという関数を作ったのですが、全ての日付の10:00が"disabled"になってしまいます。
DBに2021年1月31日の10:00のデータがあった場合その日付の10:00のみを"disabled"にする方法を教えてください。
PHP
1<?php 2 3function str($value) 4{ 5 return htmlspecialchars($value, ENT_QUOTES); 6} 7 8 9$ymd = str($_GET['year']) . '-' . str($_GET['month']) . '-' . str($_GET['day']); 10 11 12session_start(); 13 14 15 $_SESSION['year'] = str($_GET['year']); 16 $_SESSION['month'] = str($_GET['month']); 17 $_SESSION['day'] = str($_GET['day']); 18 $_SESSION['week'] = str($_GET['week']); 19 20 21 22$varDate = "{$_SESSION['year']}年{$_SESSION['month']}月{$_SESSION['day']}日({$_SESSION['week']})"; 23 24$_SESSION['fullname'] = htmlspecialchars($_POST['fullname'], ENT_QUOTES); 25 26 $_SESSION['email'] = htmlspecialchars($_POST['email'], ENT_QUOTES); 27 28 $_SESSION['ymdTime'] = htmlspecialchars($_POST['ymdTime'], ENT_QUOTES); 29 30 $_SESSION['contact'] = htmlspecialchars($_POST['contact'], ENT_QUOTES); 31 32 33 $fullname = $_SESSION['fullname']; 34 $email = $_SESSION['email']; 35 $ymdTime = $_SESSION['ymdTime']; 36 $contact = $_SESSION['contact']; 37 38 39 40 41function Option($varDate, $ymdTime) 42{ 43 44 $sql = "SELECT * FROM info WHERE varDate=? AND ymdTime=?"; 45 46 try { 47 48 $stmt = dbc()->prepare($sql); 49 50 $stmt->bindValue(1, $varDate); 51 $stmt->bindValue(2, $ymdTime); 52 53$option = $stmt->execute(); 54 55 return $option; 56 } catch (Exception $e) { 57 58 echo $e->getMessage(); 59 60 return $option; 61 } 62} 63 64$issetOptions = Option($varDate, $ymdTime); 65 66?> 67 68 69<html> 70 71 72 73<form action="" method="post> 74 75<select name="ymdTime"> 76 77 <option value="選択">選択してください</option> 78 79 <option value="<?php echo "{$ymd}-10" ?>" <?php if (!empty($issetOptions)) echo "{$_SESSION['ymdTime']} disabled" ?> >10:00~</option> 80 81 </select> 82 </form> 83 84</html>
回答2件
あなたの回答
tips
プレビュー