查询PostgreSQL

时间:2018-10-05 08:30:29

标签: php postgresql

我正在创建一个简单的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

0 个答案:

没有答案