Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σας,

Έχω φτιάξει 2 ημερολόγια στα οποία ο χρήστης μπορεί να βάλει την ημερομηνία άφιξης και αναχώρησης αντίστοιχα.Προσπαθώ να βρω έναν τρόπο (ίσως να μου διαφεύγει κάποια συνάρτηση) που να μπορεί να ψάξει για διαθεσιμότητα στην βάση μεταξύ αυτών των ημερομηνιών.

 

Στην αρχή σκέφτηκα κάθε ημερομηνία ν'αντιστοιχεί σε ένα διαφορετικό id στην βάση και η αναζήτηση να γίνεται σε κάθε id ξεχωριστά (στο εύρος ημερομηνιών που επέλεξε) για το αν υπάρχει εγγραφή ώστε να εμφανίσει διαθεσιμότητα ή όχι.Μου μοιάζει λίγο μπακαλίστικο αυτό όμως και δε ξέρω αν θα έχει κι αποτέλεσμα.

 

Θα'θελα μια κατεύθυνση να μου δώσει όποιος μπορεί για το πως "γράφεις" ή κάνεις αναζήτηση στην mysql βάσει ημερομηνίας-ών .

 

Ευχαριστώ

Δημοσ. (επεξεργασμένο)

μπορεί να μην κατάλαβα καλα, αλλά το

select * from table where date < '$date1' AND date > '$date2' πρέπει να παίζει.

 

to date πρέπει να είναι σαν datetime στην βάση.

Επεξ/σία από Xdanger
Δημοσ.

Στην MSSQL αυτό γίνεται με select * from dbo.table where date1 between '2012-02-17' and '2012-02-18'

 

Οπου οι 2 ημερομηνίες που έβαλες είναι αυτές που βάζει ο χρήστης στα 2 ημερολόγια,μέχρι εδώ όλα καλά.Αλλά στην βάση στον πίνακα .table έχω 2 πεδία για ημερομηνία (άφιξης και αναχώρησης).Υπάρχει κάποιος τρόπος εκτός απο date1 να υπάρχει στο query και date2?

Δημοσ.

Ξέρεις τι γίνεται με τον τρόπο που περιέγραψες? Έστω ότι έχω 3 κρατήσεις

 

2012-02-05 εως 2012-02-10

2012-02-13 εως 2012-02-16

2012-02-20 εως 2012-02-25

 

Αν κάποιος βάλει 2012-02-01 εως 2012-02-04 όλα καλά. (η βάση δεν επιστρέφει αποτέλεσμα)

 

Αν όμως βάλει 2012-02-11 εως 2012-02-12 βγάζει ότι δεν υπάρχει διαθεσιμότητα. (η βάση επιστρέφει αποτέλεσμα)

 

 

>$res_in = mysql_query("SELECT * FROM reservation WHERE date_in<'$datein' AND date_out<'$dateout' ");

if (mysql_num_rows($res_in)>0) {
   $error = 'Room is not available';
}

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...