Gå til innhold

Anbefalte innlegg

Hei trenger hjelp til å få til et booking system ved hjelp av PHP og sliter med å få til et system som klarer å søke etter opptatte og ledige rom. Hvordan integrerer jeg dette på siden og hva må jeg gjøre?

 

Setter stor pris på raskt svar

Lenke til kommentar
Videoannonse
Annonse
Hei trenger hjelp til å få til et booking system ved hjelp av PHP og sliter med å få til et system som klarer å søke etter opptatte og ledige rom. Hvordan integrerer jeg dette på siden og hva må jeg gjøre?

 

Setter stor pris på raskt svar

6273139[/snapback]

Det her var jo ikke akkurat allverdens mye med informasjon. En ting du kan gjøre er jo for eksempel å bruke "where" i SQL spørringene dine, slik at du bare henter ut rom som er ledige. Dette kan med fordel gjøres med en eksluslusiv låsing (dersom databasemotoren støtter det) i en transaksjon, slik at ingen andre kan lese ut de samme dataene, og du kan flagge rommet som "i bruk". Slik kan man unngå problemer med at flere prøver å booke samme rom samtidig.

 

Hvis problemet ditt er at du ikke får kontakt med databasen fra PHP vil jeg anbefale et PHP forum (f eks her på diskusjon.no) da det strengt tatt ikke er snakk om databaseproblematikk.

Lenke til kommentar

Å bruke manuell låsing av tabeller er ikke noe som anbefales, ettersom man fort ender opp med at en eller flere tabeller er låst pga diverse feil.

 

Det som derimot fungerer er å bruke litt høyere transaksjonsnivåer, f.eks det høyeste, Serializable, som sørger for at for den som kjører transaksjonen så virker det som han kjører alene.

 

Du vil da få en exception, "Concurrent update" hvis noen andre allerede har skrevet til data du har hentet ut. Mao så går det ikke an å få dobbelt booking.

 

Her lønner det seg å ha en skikkelig database med god transaksjonsstøtte, f.eks postgres, den støtter bl.a. "better than row level locking" mao, at du kan få låst enkelt-felter i en rad i databasen, ikke bare hele rader... (Dette fungerer som sagt automatisk utfra transaksjonsnivå)

Lenke til kommentar
Å bruke manuell låsing av tabeller er ikke noe som anbefales, ettersom man fort ender opp med at en eller flere tabeller er låst pga diverse feil.

De fleste avanserte databaser støtter låsing på radnivå.

Endret av jonnyh
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...