Μετατροπή Ημερομηνίας από DB

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

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

Απάντηση
Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Μετατροπή Ημερομηνίας από DB

Δημοσίευση από Apostolis_38 » 10 Ιούλ 2009 16:32

fafos έγραψε:parathro oti o tropos skepshs sou ston programmatismo einai lathos
Εεεεεε, στο δάσος αναφερόμουνα, όχι στο δέντρο.
Πρότεινέ μου κάτι να διαβάσω να ξεστραβωθώ :roll: .

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1952
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Μετατροπή Ημερομηνίας από DB

Δημοσίευση από vassilism » 10 Ιούλ 2009 18:11

Apostolis_38 έγραψε:Πρότεινέ μου κάτι να διαβάσω να ξεστραβωθώ :roll: .
Διάβασε απαντήσεις του fafos και θα γίνεις ξεφτέρι :lol:

dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Μετατροπή Ημερομηνίας από DB

Δημοσίευση από dpa » 10 Ιούλ 2009 19:02

Μπράβο παιδιά οι παλαιότεροι και πιο έμπειροι να βοηθάτε για να μαθαίνουμε και εμείς οι νεότεροι.

Διορθώστε μας δεν είναι κακό

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6235
Εγγραφή: 30 Νοέμ 2004 03:09

Μετατροπή Ημερομηνίας από DB

Δημοσίευση από fafos » 10 Ιούλ 2009 21:37

Apostolis_38 έγραψε:
fafos έγραψε:parathro oti o tropos skepshs sou ston programmatismo einai lathos
Εεεεεε, στο δάσος αναφερόμουνα, όχι στο δέντρο.
Πρότεινέ μου κάτι να διαβάσω να ξεστραβωθώ :roll: .

O google einai to kalytero manual... sto sygkekrimeno paradeigma an egrafes ston google "how find next prev day with php" tha sou evgaze arketes apanthseis...

apo kei kai pera einai thema skepshs kai empeirias... opos exo ksanatonisei h lysh enos provlhmatos thelei 95% analysh kai 5% gnoshs...

Ston programmatismo koitame ton pio oikonomiko kai pio grhgoro tropo kai auto thelei thn kalyterh dynath anaptyksh... gia paradeigma anti na kaleis queries mesa se alla queries douleueis me thn JOIN, GROUP klp h ena allo paradeigma.. anti na dhmiourgeis gia kathe typo oxhmatos kai enan pinaka sthn mysql feiaxneis enan pinaka opou vazeis opous tous typous ekei mesa...

H analysh enos provlhmatos den einai thema IQ... einai thema katharhs kai logikhs skepshs...
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Μετατροπή Ημερομηνίας από DB

Δημοσίευση από Apostolis_38 » 11 Ιούλ 2009 01:02

ok man.
Θα τα έχω υπόψην.

dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Μετατροπή Ημερομηνίας από DB

Δημοσίευση από dpa » 14 Ιούλ 2009 10:10

Παιδιά

Έχω έναν πίνακα παραγγελίες και καταχωρώ την ημερομηνία και την ώρα έτσι
$Date = date('Y-m-d G:i:s');

Πως μπορώ να κάνω αναζήτηση βάση της ημερομηνίας ???

Έχω φτιάξει το query αλλά λόγο μάλλον της μορφής της ημερομηνίας δεν την βρίσκει

Πως πρέπει να καταγράφω την ημερομηνία ώστε να μπορώ να κάνω αναζητήσεις και ακόμη με συνάρτηση να βρίσκω της παραγγελίες πριν ένα μήνα κ.ο.κ

Ευχαριστώ

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10248
Εγγραφή: 28 Ιούλ 2001 03:00

Μετατροπή Ημερομηνίας από DB

Δημοσίευση από Cha0s » 14 Ιούλ 2009 10:59

korgr έγραψε:
dpa έγραψε: Δώστε ένα παράδειγμα αν είναι εύκολο

Ευχαριστώ πολύ
Χορτασες απαντησεις νομιζω :D
Εγω απλα θελω να σταθω πως η καλυτερη μορφη καταχωρησης ημερομηνιας στη βαση ειναι με Unix timestamp οπου μπορεις μετα να την εμφανιζεις με ποικιλους τροπους και να κανεις πραξεις μεταξυ ημερομηνιων...
Μέχρι πέρσυ υποστήριζα και εγώ θερμά τα timestamps, αλλά μου έκατσε ένα project το οποίο είχε περίπλοκα queries (με ημερομηνίες για κρατήσεις δωματίων ξενοδοχείου) και αναγκαστικά έπρεπε να παίξω με date πεδία στην mysql (ΥΥΥΥ-ΜΜ-DD) καθώς μπορείς να φέρεις αποτελέσματα του στυλ μία μέρα πριν, ένα μήνα πριν, από τότε μέχρι τότε, πολύ πιο εύκολα (γίνεται εσωτερικά parse η ημερομηνία σε αντίθεση με τα timestamps που είναι απλά Integers) και γρήγορα.
Ο κώδικας που γλύτωσα ήταν σημαντικά αρκετός και κέρδισα σε stability... μην ξεχνάμε το 'KISS'* στο development :kaloe:

Υποθέτω βέβαια ανάλογα με την εφαρμογή κάθε φορά, κάθε τρόπος έχει τα υπέρ και τα κατά :)


* Keep It Simple Stupid!

dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Μετατροπή Ημερομηνίας από DB

Δημοσίευση από dpa » 14 Ιούλ 2009 11:29

Φίλε σε ευχαριστώ που απάντησες

Δεν κατάλαβα τι εννοείς

Δώσε μου ένα παράδειγμα πως να το κάνω

Ευχαριστώ

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10248
Εγγραφή: 28 Ιούλ 2001 03:00

Μετατροπή Ημερομηνίας από DB

Δημοσίευση από Cha0s » 14 Ιούλ 2009 11:44

http://dev.mysql.com/doc/refman/5.1/en/ ... tions.html

Εδώ υπάρχουν αρκετά παραδείγματα σχετικά με τις ημερομηνίες και την MySQL. :)

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Μετατροπή Ημερομηνίας από DB

Δημοσίευση από Apostolis_38 » 14 Ιούλ 2009 12:15

Cha0s έγραψε:Υποθέτω βέβαια ανάλογα με την εφαρμογή κάθε φορά
Θα συμφωνήσω. Το καλό, για μένα, που έχει η date είναι οτι μπορείς πολύ πιο εύκολα να απομονώσεις το πεδίο που θέλεις.


@dpa: Υπάρχουν πολλοί τρόποι αναζήτησης

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

select ... where `date` like "12-*-*..."...
ή αν δίνει ο χρήστης την ημερομηνία:

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

<form action = "..." method = "get">
Από&#58;<br>
<select name = "date1">
<option value>01</option>
<option value>02</option>
</select>
<select name = "month1">
<option value>01</option>
<option value>02</option>
</select>
<select name = "year1">
<option value>2006</option>
<option value>2007</option>
</select>
Εώς&#58;<br>
<select name = "date1">
<option value>01</option>
<option value>02</option>
</select>
<select name = "month1">
<option value>01</option>
<option value>02</option>
</select>
<select name = "year1">
<option value>2007</option>
<option value>2008</option>
</select>
          <p> 
            <input type = submit  value = "ΑΝΑΖΗΤΗΣΗ">
          </p>

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

//Δήλωση μεταβλητών για τη δημιουργία της ημερομηνίας
$_GET&#91;"invdate1"&#93;  =  date&#40;$_GET&#91;"year1"&#93; .  "/" . $_GET&#91;"month1"&#93;  .  "/" . $_GET&#91;"date1"&#93; &#41; ;
$_GET&#91;"invdate2"&#93;  =  date&#40;$_GET&#91;"year2"&#93; .  "/" . $_GET&#91;"month2"&#93;  .  "/" . $_GET&#91;"date2"&#93; &#41;;

//----------------ΕΚΤΥΠΩΣΗ ΚΡΙΤΗΡΙΩΝ ΑΝΑΖΗΤΗΣΗΣ ΤΟΥ ΧΡΗΣΤΗ-------------------//
 function my_givendate&#40;$given&#41;
 &#123;
 $givendate = " Αναζήτηση Από&#58;" . "<font color=#0000FF>" . "&nbsp;" .  date&#40;'d/m/Y', strtotime&#40;$_GET&#91;"invdate1"&#93; &#41; &#41;  .  "</font>" . "&nbsp;" .
  "Εώς&#58;"  . "<font color=#0000FF>" . "&nbsp;" .  date&#40;'d/m/Y', strtotime&#40;$_GET&#91;"invdate2"&#93; &#41; &#41;  . "</font>";  
    echo "<table border = 0 align = center><td align = center>$givendate</td></table>";  
 &#125;

 my_givendate&#40;"given"&#41; ;

//--------------ΑΝΑΖΗΤΗΣΗ ΣΥΜΦΩΝΑ ΜΕ ΤΑ ΚΡΙΤΗΡΙΑ ΠΟΥ ΔΩΘΗΚΑΝ-------------//
   $qp1 = "select * from ... where  invdate between ' ".$_GET&#91;"invdate1"&#93;."' and  ' ".$_GET&#91;"invdate2"&#93;."' " ;

Φυσικά πρέπει να το προσαρμόσεις στίς δικές σου ανάγκες.

Εχε υπόψην οτι αν ορίσεις το πεδίο στη βάση σου σαν date ή datetime η ημερομηνία καταχωρείται με τη μορφή 0000-00-00
οπότε αν βάλεις αναζήτηση με text field σε στύλ 0000/00/00 θα "χτυπήσει" σφάλμα.

forme
Δημοσιεύσεις: 11
Εγγραφή: 21 Μαρ 2009 14:32

Μετατροπή Ημερομηνίας από DB

Δημοσίευση από forme » 17 Ιούλ 2009 23:18

Εγώ πάντως για να μην μπερδεύομαι απο server σε server που ο καθένας έχει την ώρα του χρησιμοποιώ την UTC ώρα με την gmdate!!

Και για Ελλάδα που είναι UTC+2 (ή +3 το καλοκαιρι)

$e=mktime(gmdate("G")+3, gmdate("i"), 0, gmdate("m"), gmdate("d"), gmdate("Y"));
$day=date("Ymd",$e);

Απάντηση

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

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

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