LOCK TABLES e chiusura connessione al db

mrjohn

Nuovo Utente
3 Apr 2012
8
0
0
Salve mi sto cimentando nella realizz. di un sistema di prenotazione camere albergo.Mi sorgono alcuni dubbi sull'uso dei LOCK.Il sistema è strutturato in due fasi:
FASE 1. verifico disponibilità in determinati giorni(e faccio lock iniziale in maniera corretta sulle varie tabelle).seleziono le camere da prenotare..tasto PROCEDI->
(il tasto PROCEDI mi apre nuova pagina per inserire i dati del cliente ecc.)
FASE 2. inserisco il resto dei dati (nome cognome e carta) ..tasto PRENOTA (faccio la INSERT in db e pensavo di fare UNLOCK TABLES)

ora passando da una pagina all'altra (quindi da uno script all'altro) la connessione termina e il lock di conseguenza non viene tenuto.la mia domanda è :
qual è la prassi in questi casi ..(passando da una pagina ad un'altra) si rieffettua sempre la connessione e si trova un modo di gestire i lock in maniera corretta oppure si tiene attiva la connessione pur passando da uno script ad un altro? (se è cosi come si realizza questa cosa? ho letto che le connessioni persistenti mysql_pconnect() sarebbero da evitare)

grazie mille
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Io eviterei completamente di fare il lock della tabella, e aggiungerei invece due campi alla tabella delle prenotazioni: created_at e confirmed. Nella prima fase inserisci i dati nella tabella e imposti created_at alla data attuale, e confirmed a 0. Nella seconda fase aggiorni i dati rimanenti e imposti confirmed a 1. Puoi passare l'ID del record creato in una variabile di sessione.

Per evitare che, chiudendo la pagina a metà, i giorni rimangano comunque prenotati, imposti un cron job eseguito ogni 5 minuti (regolati tu) che elimina tutte le prenotazioni con il campo confirmed impostato a 0 e create più di 10 minuti fa. Se il tuo hosting non supporta i cron job (e non puoi cambiare hosting), puoi anche eseguire la query ogni volta che si accede al sito.

P.S. Evita l'utilizzo della libreria mysql, che è di fatto deprecata. Usa invece PDO.
 

mrjohn

Nuovo Utente
3 Apr 2012
8
0
0
ma se non metti i LOCK c'è sempre la possibilità che mentre l'utente 1 sta per settare i campi "created_at" e "confirmed" un secondo utente avvia anche lui la ricerca di una camera libera che libera non è a quel punto.e quindi va avanti con la procedura ed entrambi gli utenti prenotano la stessa camera per lo stesso giorno.
 
Discussioni simili
Autore Titolo Forum Risposte Data
V problemi con lock tables (errore 1100) come fare? MySQL 0
M FORM input e LOCK TABLES PHP 0
M Esempio di LOCK TABLE in MySQL MySQL 0
PenguinLover definizione di Vendor Lock-in Discussioni Varie 1
N Problema: lock di un database Access MS Access 2
N Impostare un lock in SQL Server 2000 Database 0
A [HTML] Question about tables HTML e CSS 1
Trogo Mysql: Drop all tables MySQL 0
A DataGrid con più tables ASP.NET 0
L Chiusura automatica popup Javascript 0
C Dopo chiusura del tag php la stringa html va a capo PHP 1
L Audio in finestra modale ed interruzione alla chiusura jQuery 9
F [Javascript] chiusura popup e refresh pagina madre su punto preciso Javascript 0
ANDREA20 orari apertura e chiusura Javascript 4
A chiusura finestra dialog Popu jQuery 3
F Tast di conferma chiusura App Sviluppo app per Android 1
V Chiusura dialog con il close (x) Ajax 1
M Problema con ciclo foreach per chiusura apertura div in base al numero di record in database PHP 1
P Chiusura automatica brownser HTML e CSS 10
M chiusura colorbox dopo inserimento dati in un database tramite form PHP 0
N Problemi chiusura menù laterale Javascript 5
A Chiusura ed eliminazione di questo account Supporto Mr.Webmaster 0
felino Jquery UI Dialog Confirm: errore sulla chiusura della finestra jQuery 3
V Chiusura dei recordsets aperti. MS Access 0
M Gestire la chiusura forzata. Sviluppo app per Android 1
kungfujava Rimanere Loggati dopo chiusura browser PHP PHP 0
S rimuovere pulsante chiusura (X) da una finestra Javascript 3
L realizzare apertura e chiusura div dinamico jQuery 3
unkus_nob chiusura automatica infowindow google map Javascript 0
P problemi di chiusura con la query PHP 3
H Azione alla chiusura di una finestra popup? PHP 1
P Problema chiusura sistema di commento jQuery 2
Web Designer Il mondo è impazzito: Piercing sulla lingua a chiusura a lampo Discussioni Varie 1
K Chiusura automatica dialog jQuery 0
Z Chiusura finestra PHP 2
C Effettuare il log out alla chiusura del browser PHP 3
A chiusura finestra popup e popolamento campo form Javascript 1
L Problemi con chiusura di popup e passaggio argomenti Javascript 0
A eliminare la chiusura del tag <div> HTML e CSS 2
SolidSnake4 chiusura pagina browser Javascript 0
E Chiusura e ricarica pop-up Javascript 1
D Problemi apertura chiusura pop-up Flash 1
F chiusura finestra filmato Flash 0
T Aggiornare pagina alla chiusura Javascript 3
T Problemi con la chiusura dei Popup PHP 0
F come tenere traccia della chiusura delle sessioni PHP 1
T newbie: chiusura popup Javascript 1
H chiusura popup HTML e CSS 2
H chiusura finestra browser Javascript 2
A click sul pulsante exit e chiusura automatica della present html su cd con autoplay Javascript 1

Discussioni simili