$query = "SELECT * FROM kalender WHERE `Start` BETWEEN ".$BookingStart." AND ".$BookingSlut." OR `Slut` BETWEEN ".$BookingStart." AND ".$BookingSlut.""; $result = mysql_query( $query ); if( !$result ) { echo "Databasefejl"; }elseif( 0 > mysql_num_rows( $result ) ) { echo "Du har valgt en tid som er optaget"; }else { print "indsat"; }
require("footer.inc.php"); ?>
Det er så meningen den skal komme tilbage med en fejl hvis datoerne allerede findes i databasen, men det gør den ikke.. Den siger (indsat) hvergang ligegyldig om datoerne ligger der i forvejen eller ej.. Er der nogen der kan se en fejl??
Datoerne ligger i to "Date" fields i databasen. (Start og Slut) Så der står f.eks: Start: 2007-03-01 Slut: 2007-03-11
Er der nogen der kan se hvad der måtte være galt ? :)
Ja if( !$result ) { echo "Databasefejl"; }elseif( 0 < mysql_num_rows( $result ) ) { echo "Du har valgt en tid som er optaget"; }else { print "indsat"; }
Smed lige en "or die(mysql_error()) på, og jeg får flg fejl:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR slut BETWEEN 2007-03-01 AND 2007-03-06' at line 1
Er der nogen der ved om jeg kan bruge et alternativ?
"SELECT * FROM kalender WHERE (`Start` BETWEEN $BookingStart AND $BookingSlut) OR (`Slut` BETWEEN $BookingStart AND $BookingSlut)" måske, ved jeg ikke helt.
Ellers bliver du nød til at lave to forespørgelser, en for Start og en for Slut.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.