Я уверен, что это простой вопрос.
Если вы хотите создать SQL с php для поискового запроса.Итак, у вас есть 5 критериев, которые являются необязательными и могут быть введены или не введены пользователем.Вы не можете гарантировать ни один из них.
Когда речь идет о создании SQL в php, вы можете использовать:
Так что, если они существуют, вы можете использовать AND для 4 последних критериев.
Но для первого критерия, если у вас есть это как WHERE
, если этот не выбран, тогда SQL просто является списком AND
с без начального WHERE
.
Есть липростой ответ?
Код, который я написал:
$sql = "
SELECT *
FROM Request, Rooms
WHERE Day = ".$Day." ";
if($ModCode != ''){
$sql .="AND ModCode = ".$ModCode." ";
}
if($StartTime != ''){
$sql .="AND StartTime = ".$StartTime." ";
}
if($Length != ''){
$sql .="AND Length = ".$Length." ";
}
if($Room != ''){
$sql .="AND Request.RoomID = Rooms.RoomID ";
$sql .='AND Rooms.RoomName = "'.$Room.'" ';
}
if($Room == '' && $Park != ''){
$sql .="AND Request.RoomID = Rooms.RoomID ";
$sql .='AND Rooms.Park = "'.$Park.'" ';
}
А теперь я хочу, чтобы бит WHERE Day = $Day
был необязательным, как и другие.
Ура