예약 교실 기능을 만듭니다. 이미 예약 된 교실을 사용자가 예약하면 내역을 반영하고 싶습니다. 나는 그것이 ifelse 문 작업을하지만, 그렇지 않으면 SQL INSERT 내부는 {} 내가 왜 잘 모릅니다 IF {} 후 한 번 실행하는지 테스트하고 캔트 실수php ifelse else 문을 계속 실행합니다.
$class=$_POST['class'];
$time=$_POST['time'];
$date=$_POST['date'];
$type=$_SESSION['type'];
$query=mysql_query("SELECT * FROM classroom");
while($row=mysql_fetch_array($query))
{
if ($row['name']==$class && $row['date']==$date && $row['time']==$time)
{
echo "The class at this time already been booked.";
}
else
{
mysql_query("INSERT INTO classroom(name,date,time,bookedby) VALUES('$class','$date','$time','$type')");
if ($_SESSION['username']=='admin') {
mysql_query("UPDATE classroom SET status='yes' WHERE name='$class' AND date='$date' AND time='$time'");
}
echo "booking submitted";
break;
}
}
코드는 각 행이 일치하는지 확인하고 그렇지 않은 행마다 새 행을 삽입합니다. _any_ 행이 일치하는지 확인하고 _none_ 할 경우 새 행을 삽입하십시오. – Eric
먼저 mysqli 또는 PDO를 준비된 문으로 사용하십시오. select where 문을 사용하면 PHP에서 루프를 돌릴 수없고 각 행을 비교할 수 없습니다. 직관적이지는 않습니다. 삽입하기 전에 조건을 추가하면됩니다. insert then then update – Ghost
알았어요. 고마워. 모두 – user3042789