我正在创建一个简单的php网页,使我可以管理通过表单进行的一些预订。
但是我在查询中遇到了问题。特别是我有两个表:
(1)它允许我接收和发送通过表格提出的所有请求。
prenotazione
(2)接受所有请求。
prenotazioneAccettate
通过表(1),如果接受此请求,我可以通过将其移到表(2)中来决定是否接受该请求。
问题是在编译表单时,会自动为用户分配一个节,该节可以是一两个 (取决于是否有人进行了预订)。 我的问题是,如果用户进行预订,他将被分配节1。如果我接受预订,则将其移至表(2)。此时,如果用户在同一日期进行第二次预订,则会再次为该用户分配节数字1。 因此,基本上我想了解如何不仅可以在(1)的字段中进行控制,而且可以在(2)的字段中进行控制,从而避免出现此问题。 谢谢
$checkdata = "SELECT count(*) as prenotato
FROM prenotazione
WHERE data='$data'
AND NOT ('$newTimeEnd' < orario_inizio OR orario_fine < '$orario_inizio')";
$querycheck = $dbh->prepare($checkdata);
$querycheck->execute();
$prenotato = $querycheck->fetch()[0];
if ($prenotato == 0 AND $stanza == 0 ) {
$query1 = "INSERT INTO prenotazione (nominativo,email,data,orario_inizio,orario_fine,oggetto,nominativoi,emaili,nominativoe,emaile,stanza) VALUES ('$nominativo','$email','$data','$orario_inizio','$newTimeEnd','$oggetto','$nominativoi','$emaili','$nominativoe','$emaile',1)";
$result1 = $dbh->prepare($query1);
$result1->execute();
$rex = 1;
}else if ($prenotato == 1){
$query1 = "INSERT INTO prenotazione (nominativo,email,data,orario_inizio,orario_fine,oggetto,nominativoi,emaili,nominativoe,emaile,stanza) VALUES ('$nominativo','$email','$data','$orario_inizio','$newTimeEnd','$oggetto','$nominativoi','$emaili','$nominativoe','$emaile',2)";
$result1 = $dbh->prepare($query1);
$result1->execute();
$rex = 1;
}
编辑:
我找到了第一个解决方案,但我绝对不满意!基本上,我创建了一个新的等于$ checkdata的检查,该检查在表“ prenotazioneAccettate”上完成,然后是一组if / else if