σύστημα ενοικίασης - λογικό πρόβλημα

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
cn92
Δημοσιεύσεις: 232
Εγγραφή: 25 Ιαν 2008 19:00
Τοποθεσία: Γλυφαδα
Επικοινωνία:

σύστημα ενοικίασης - λογικό πρόβλημα

Δημοσίευση από cn92 » 03 Ιουν 2012 22:29

Θέλω τη βοήθειά σας για έναν έλεγχο που πρέπει να γίνεται πριν εισάγει ένα σύστημα δεδομένα σε ένα πίνακα μιας βάσης.

Έχουμε ένα πίνακα rents('id', 'from', 'until'), όπου from until ημερομηνία σε μορφή YYYYMMDD.
Έχουμε επίσης μία φόρμα εισαγωγής δεδομένων στον παραπάνω πίνακα.
Πριν εισάγουμε τα δεδομένα πρέπει να γίνεται ένας έλεγχος, έτσι ώστε η περίοδος που έχουμε δηλώσει στη φόρμα, να μην είναι ήδη καταχωρημένη στη βάση.

Δηλαδή έστω ότι θέλουμε να νοικιάσουμε κάτι από 29/05/2012 μέχρι 06/06/2012.
Αν υπάρχει εγγραφή στη βάση με ημερομηνία 01/05/2012 - 31/05/2012 ή 01/0602012 - 04/06/2012 ή 05/06/2012 - 20/06/2012 θα πρέπει το σύστημα να μην επιτρέπει την εισαγωγή και να βγάζει μήνυμα.

Έχετε να προτείνεται κανέναν τρόπο;
Αυτό που έχω σκεφτεί είναι:
Για να μην επιστρέψει μήνυμα λάθους θα πρέπει
η ημερομηνία έναρξης της βάσης να είναι μικρότερη από την ημερομηνία έναρξης που έχω στείλει ΚΑΙ η ημερομηνία λήξης της βάσης να είναι μικτρόερη από την ημερομηνία έναρξης που έχω στείλει

ή

Η ημερομηνία έναρξης της βάσης να είναι μεγαλύτερη και από την ημερομηνία έναρξης και από της ημερομηνία λήξης που έχω στείλει.

Κώδικας: Επιλογή όλων

foreach ($rents as $r) {
if &#40;&#40;$r&#91;'from'&#93; < $start && $r&#91;'until'&#93; < $start&#41; || &#40;$r&#91;'from'&#93; > $start && $r&#91;'from'&#93; < $end&#41;&#41; &#123;
return TRUE;
&#125; else &#123; return FALSE; &#125;
&#125;


Άβαταρ μέλους
cn92
Δημοσιεύσεις: 232
Εγγραφή: 25 Ιαν 2008 19:00
Τοποθεσία: Γλυφαδα
Επικοινωνία:

σύστημα ενοικίασης - λογικό πρόβλημα

Δημοσίευση από cn92 » 04 Ιουν 2012 10:31

:clap: Σωστός! Ευχαριστώ βοήθησε πολύ!

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες