antonisid Δημοσ. 19 Φεβρουαρίου 2012 Δημοσ. 19 Φεβρουαρίου 2012 Καλησπέρα σας, Έχω φτιάξει 2 ημερολόγια στα οποία ο χρήστης μπορεί να βάλει την ημερομηνία άφιξης και αναχώρησης αντίστοιχα.Προσπαθώ να βρω έναν τρόπο (ίσως να μου διαφεύγει κάποια συνάρτηση) που να μπορεί να ψάξει για διαθεσιμότητα στην βάση μεταξύ αυτών των ημερομηνιών. Στην αρχή σκέφτηκα κάθε ημερομηνία ν'αντιστοιχεί σε ένα διαφορετικό id στην βάση και η αναζήτηση να γίνεται σε κάθε id ξεχωριστά (στο εύρος ημερομηνιών που επέλεξε) για το αν υπάρχει εγγραφή ώστε να εμφανίσει διαθεσιμότητα ή όχι.Μου μοιάζει λίγο μπακαλίστικο αυτό όμως και δε ξέρω αν θα έχει κι αποτέλεσμα. Θα'θελα μια κατεύθυνση να μου δώσει όποιος μπορεί για το πως "γράφεις" ή κάνεις αναζήτηση στην mysql βάσει ημερομηνίας-ών . Ευχαριστώ
Xdanger Δημοσ. 19 Φεβρουαρίου 2012 Δημοσ. 19 Φεβρουαρίου 2012 (επεξεργασμένο) μπορεί να μην κατάλαβα καλα, αλλά το select * from table where date < '$date1' AND date > '$date2' πρέπει να παίζει. to date πρέπει να είναι σαν datetime στην βάση. Επεξ/σία 19 Φεβρουαρίου 2012 από Xdanger
Tmark Δημοσ. 19 Φεβρουαρίου 2012 Δημοσ. 19 Φεβρουαρίου 2012 Στην MSSQL αυτό γίνεται με select * from dbo.table where date1 between '2012-02-17' and '2012-02-18'
antonisid Δημοσ. 19 Φεβρουαρίου 2012 Μέλος Δημοσ. 19 Φεβρουαρίου 2012 Στην MSSQL αυτό γίνεται με select * from dbo.table where date1 between '2012-02-17' and '2012-02-18' Οπου οι 2 ημερομηνίες που έβαλες είναι αυτές που βάζει ο χρήστης στα 2 ημερολόγια,μέχρι εδώ όλα καλά.Αλλά στην βάση στον πίνακα .table έχω 2 πεδία για ημερομηνία (άφιξης και αναχώρησης).Υπάρχει κάποιος τρόπος εκτός απο date1 να υπάρχει στο query και date2?
Uberalles_gr Δημοσ. 20 Φεβρουαρίου 2012 Δημοσ. 20 Φεβρουαρίου 2012 Κάπως έτσι ίσως: select * from table where date1 <= '$date1' AND date2 <= '$date2'
antonisid Δημοσ. 20 Φεβρουαρίου 2012 Μέλος Δημοσ. 20 Φεβρουαρίου 2012 Ξέρεις τι γίνεται με τον τρόπο που περιέγραψες? Έστω ότι έχω 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'; }
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα