Gå til innhold

Printe ut en tabell, avhengig av en annen tabell.


Anbefalte innlegg

Driver å lager et mini-booking system til gjestehuset til familien min.

Har kommet borti et lite problem som jeg ikke får til å løse.

 

Foreløpig har jeg 2 tabeller i databasen.

 

Tabell1: romliste (liste over alle rommene, med priser mm.)

id - romnr - senger - pris - notat

1 - 1 - 2 - 600 - tv ødelagt

2 - 2 - 1 - 400 -

osv.

 

Tabell 2: reservasjoner (liste over reservasjoner)

 

id - resromnr - navn - etternavn - sjekkinn - sjekkut

1 - 1 - per - olsen - 10-12-20 - 10-12-25

2 - 3 - lars - larsen - 10-12-20 - 10-12-23

 

___________

 

Jeg har en kallender på siden, hvor man kan klikke på den dagen man vil sjekke om rommene er ledig / reservert den dagen..

Så la oss si at jeg har klikket på 10-12-22.

 

 

Nå kommer problemet mitt.

 

Jeg vil skrive ut alle rommene fra "romliste" og samtidig sjekke om det er noen reservasjoner den dagen fra "reservasjoner"

 

$valgt_dato = 10-12-22;

$hent_rom = @mysql_query("SELECT * FROM romliste, reservasjoner");

while($romliste=mysql_fetch_array($hent_rom)){

 $nr = $romliste[romnr];
 $resromnr = $romliste[resromnr];
 $sjekkinn = $romliste[sjekkinn];
 $sjekkut = $romliste[sjekkut];

 if ($nr == $resromnr && $valgt_dato>= $sjekkinn && $valgt_dato < $sjekkut){
   echo "Rom $nr (Reservert)<br />";
 }
 else {
   echo "Rom $nr (Ledig)<br />";
 }

}

 

Resultatet skal bli:

Rom 1 (Reservert)

Rom 2 (Ledig)

Rom 3 (Reservert)

 

 

Problemet virker som å ligge i @mysql_query("SELECT * FROM romliste, reservasjoner");

 

Så hvilken måte er best for meg å bruke dersom jeg skal hente verdier fra disse to tabellene.

Får så å skrive ut alle rommene i "romliste" for så å markere dem som reservert dersom "$nr == $resromnr && $valgt_dato>= $sjekkinn && $valgt_dato < $sjekkut" stemmer.

 

Er det en bedre måte jeg kan organisere dataen i databasen på får å gjøre dette lettere?

Er åpen for forslag :p

Lenke til kommentar
Videoannonse
Annonse

Fikk til en løsning, men virker litt konglete..

 

$valgt_dato = strtotime($_GET[date]); //Dato som ble klikket på i kalender

$hent_rom = @mysql_query("SELECT * FROM roomliste"); // Henter liste over alle rom

while($rom=mysql_fetch_array($hent_rom)){

    $rom_nr = $rom[romnr]; // Rom nr

    $finn_reservert =
    @mysql_query ("SELECT * FROM reservasjoner WHERE resromnr='$rom_nr'
                             AND $valgt_dato>=UNIX_TIMESTAMP(sjekkinn)
                             AND $hent_rom<UNIX_TIMESTAMP(sjekkut)"); //Finner rom som er reservert denne dagen

    $reservert=mysql_fetch_array($finn_reservert);


    $reserverrom_nr = $reservert[resromnr]; // Rom nr på rom reservert denne dagen.


    if ($rom_nr == $reserverrom_nr){

         //Rommet er opptatt

    }

    else {

         //Rommet er ledig

    }

}

 

 

Noen som vet om en letter måte?

Endret av snipe
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...