Σύγκριση ημερομηνίας php mysql

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

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

Απάντηση
Άβαταρ μέλους
alex_begos
Δημοσιεύσεις: 102
Εγγραφή: 07 Σεπ 2007 19:29

Σύγκριση ημερομηνίας php mysql

Δημοσίευση από alex_begos » 24 Απρ 2010 17:12

Έχω σε μια μεταβλητή $date μια ημερομηνία τι πρεπει να κάνω για να συγκρίνω αυτή τη μεταβλητή με ένα πεδίο date ενός πίνακα της βάσης μου?
Πρέπει να μετατρέψω την μεταβλητή αυτή που είναι string σε κάτι άλλο πριν εκτελέσω την εντολή sql?
αυτη είναι η εντολή...
Select * from table where filddate >= $date;

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Σύγκριση ημερομηνίας php mysql

Δημοσίευση από Banavas » 24 Απρ 2010 17:45

Αν η $date είναι σε μορφή YYYY-mm-dd δεν χρειάζετει να κάνεις τίποτα. Αν όχι θα πρέπει να την φέρεις σ΄αυτή την μορφή.
Happy coding....
Μάρκος
http://lasernet.gr

weathor
Δημοσιεύσεις: 18
Εγγραφή: 22 Φεβ 2010 00:11
Επικοινωνία:

Σύγκριση ημερομηνίας php mysql

Δημοσίευση από weathor » 26 Απρ 2010 15:08

ναι π.χ. 20101230 (χωρις παυλες μεσα) αλλα κανε δοκιμες με την echo $date; για πιο σιγουρα

Το int απο string ειναι απλη υποθεση παντως $dateint = (int)$date; αν και νομιζω θα δουλευει κι χωρις μετατροπη

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

Σύγκριση ημερομηνίας php mysql

Δημοσίευση από cn92 » 12 Μάιος 2010 22:26

θέλω να κάνω κάτι παρόμοιο, αλλά έχω κολλήσει...
έχω σε μία μεταβλητή $lastlog, την οποία τραβάω από τη βάση δεδομένων, την τελευταία είσοδο του χρήστη σε μορφή YYYYMMDDHHMM, όπου HH η ώρα και MM τα λεπτά.
θέλω να εμφανίζω τους χρήστες που έκαναν login μετά από την τελευταία επίσκεψή μου (μεταβλητή $mylastlog)
Αρχικά με την substr κρατάω την ημερομηνία μόνο από τις 2 μεταβλητές σε μορφή YYYYMMDD.
Τώρα, πώς θα συγκρίνω τις 2 μεταβλητές για να δω ποιοι χρήστες έκαναν login μετά την τελευταία επίσκεψή μου?
θα πω ... if $mylastlog <= $lastlog ... ?

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Σύγκριση ημερομηνίας php mysql

Δημοσίευση από Banavas » 13 Μάιος 2010 08:45

Με αυτή τη μορφή (YYYYMMDD) κάθε νεώτερη ημερομηνία είναι σαν αριθμός μεγαλύτερη από την προηγούμενη οπότε αυτό if $mylastlog <= $lastlog ισχύει. Βέβαια αυτό σου δίνει τους χρήστες που συνδέθηκαν την ίδια ημερομηνία ή μετέπειτα. Αν θέλεις ακριβώς όσους συνδέθηκαν μετά από σένα πρέπει να αφήσεις και τις ώρες και τα λεπτά στην σύγκριση.

Πιο απλό (για τις συγκρίσεις) είναι να κρατάς το timestαmp και αν θέλεις κάπου να δείξεις την ημερομηνία βάζεις date("dd/mm/YYYY ΗΗ:mm:ss",timestamp) . Στο πρώτο κομμάτι που είναι το φορματ με το οποίο θα εμφανιστεί η ημερομηνία βάζεις ότι θέλεις καί όσα στοιχεία θέλεις.
Happy coding....
Μάρκος
http://lasernet.gr

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

Σύγκριση ημερομηνίας php mysql

Δημοσίευση από cn92 » 13 Μάιος 2010 22:19

thanks! θα δοκιμάσω και το timestamp..

Απάντηση

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

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

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