Greek Date format μεσα σε repeat region

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

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

Απάντηση
ewigkeit
Δημοσιεύσεις: 36
Εγγραφή: 26 Μάιος 2008 17:15

Greek Date format μεσα σε repeat region

Δημοσίευση από ewigkeit » 25 Μάιος 2010 00:46

Γεια σας.

Γραφω μια εφαρμογη στη οποια θα ηθελα να εμφανισω ελληνικη ημερομηνια.
Δοκιμασα πολλους συνδυασμους με locale κτλ αλλα δεν μου δουλεψε τιποτα.

Βρηκα ενα script στο νετ με function αλλα λογω repeat region μου εβγαζε οτι ειναι already declared ;)

Χρησιμοποιω windows 7,αγγλικη εκδοση , το locale εχει αλλαχθει σε greek, οπως και το location.
Eχω εγκατεστημενο το xampp και το recordset που τραβαει το string της ημερομηνιας ειναι το $row_kiniseis['date']

Προτάσεις?
Μονο με καποιο array θα δουλεψει υποψιαζομαι...

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Greek Date format μεσα σε repeat region

Δημοσίευση από dva_dev » 25 Μάιος 2010 01:27

Για ρίξε μια ματιά σε αυτά, και μας ξαναλές για διευκρινίσεις
http://www.freestuff.gr/forums/viewtopic.php?t=17751
http://www.freestuff.gr/forums/viewtopic.php?t=39341
http://www.freestuff.gr/forums/viewtopic.php?t=29648

ewigkeit
Δημοσιεύσεις: 36
Εγγραφή: 26 Μάιος 2008 17:15

Greek Date format μεσα σε repeat region

Δημοσίευση από ewigkeit » 25 Μάιος 2010 02:40

Δοκίμασα τον παρακάτω κώδικα.
Αντικατεστησα τη μεταβλητη time() με το $row_kiniseis['date'] ,για να τα τραβάει απο τη βαση δεδομενων που εχω, και μου κανει echo
1 Ιανουαρίου 1970 :(

Περα απο αυτο μου βγάζει και το εξής που ανεφερα ποιό πανω "Fatal error: Cannot redeclare greekDate() (previously declared in C:\xampp\htdocs\AVIN\Hmerisies_Kiniseis.php:136) in C:\xampp\htdocs\AVIN\Hmerisies_Kiniseis.php on line 134"

Παπαλα!
Τι κάνω τωρα? :D

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

<?
function greekDate&#40;&#41; &#123;

   $now=time&#40;&#41;; 
   $dayNum=date&#40;"D",$now&#41;;
   $monthNum=date&#40;"n",$now&#41;;

   switch &#40;$dayNum&#41; &#123;
      case "Mon"&#58; $day = "Δευτέρα"; break;
      case "Tue"&#58; $day = "Τρίτη"; break;
      case "Wed"&#58; $day = "Τετάρτη"; break;
      case "Thu"&#58; $day = "Πέμπτη"; break;
      case "Fri"&#58; $day = "Παρασκευή"; break;
      case "Sat"&#58; $day = "Σάββατο"; break;
      case "Sun"&#58; $day = "Κυριακή"; break;
   &#125;

   $monthArray=Array&#40;
      '1'=>'Ιανουαρίου',
      '2'=>'Φεβρουαρίου',
      '3'=>'Μαρτίου',
      '4'=>'Απριλίου',
      '5'=>'Μαΐου',
      '6'=>'Ιουνίου',
      '7'=>'Ιουλίου',
      '8'=>'Αυγούστου',
      '9'=>'Σεπτεμβρίου',
      '10'=>'Οκτωβρίου',
      '11'=>'Νοεμβρίου',
      '12'=>'Δεκεμβρίου'
   &#41;;

      return &#40;date&#40;$day.", j ".$monthArray&#91;$monthNum&#93;." Y",$now&#41;&#41;;
&#125;

echo greekDate&#40;&#41;;
?>

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

Greek Date format μεσα σε repeat region

Δημοσίευση από fafos » 25 Μάιος 2010 03:51

1. h date prepei na einai timestamp (p.x. 1273286811)

2. otan kaleis eksoteriko variable apo thn function prepei na to dhloseis mesa sthn function me to global.. prin to echo greekDate(); vazeis:

$now= $row_kiniseis['date'];

kai antikathistas to $now=time(); me to global:

global $now;

3. oi functions feiaxthkan gia na mhn epanalamvanoume ton idio kodika synexeia.. mia function thn kaloume mia fora kapou psila kai meta thn typonoume me to echo greekDate(); ( to echo greekDate(); tha to xrhsimopoihseis oses fores thes)

ewigkeit
Δημοσιεύσεις: 36
Εγγραφή: 26 Μάιος 2008 17:15

Greek Date format μεσα σε repeat region

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

1) H date μου ειναι string.

2)To εκανα φαφε οπως ειπες αλλα η σελιδα σταματαει να κανει render και παγωνει στο σημειο που βρισκεται το script

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

Greek Date format μεσα σε repeat region

Δημοσίευση από fafos » 26 Μάιος 2010 01:25

poy thn vazeis thn function? ti ennoeis einai string?

ewigkeit
Δημοσιεύσεις: 36
Εγγραφή: 26 Μάιος 2008 17:15

Greek Date format μεσα σε repeat region

Δημοσίευση από ewigkeit » 26 Μάιος 2010 03:33

fafos έγραψε:poy thn vazeis thn function? ti ennoeis einai string?
Tην βάζω έξω απο τη repeat region.
Eννοω οτι ειναι με μορφη string μεσα στη βάση (yyyy-mm-dd)

To εξωτερικο variable επισης δε μου εκατσε... :(

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

Greek Date format μεσα σε repeat region

Δημοσίευση από fafos » 26 Μάιος 2010 03:42

ewigkeit έγραψε:
Tην βάζω έξω απο τη repeat region.
Eννοω οτι ειναι με μορφη string μεσα στη βάση (yyyy-mm-dd)

To εξωτερικο variable επισης δε μου εκατσε... :(

h syngkekrimenh function douleuei me timestamp kai oxi me english date... opote metatrepeis thn date se timestamp me to strtotime kai exeis to parakato...

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

 $now = strtotime&#40;$row_kiniseis&#91;'date'&#93;&#41;;

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Greek Date format μεσα σε repeat region

Δημοσίευση από dva_dev » 26 Μάιος 2010 15:23

1) Κάποια στιγμή που θα έχεις λίγο χρόνο ελεύθερο, καλό θα ήταν να γυρίσεις στη βάση σου την ημερομηνία σε πεδίο τύπου ημερομηνία (ή timestamp αν δεις ότι σε βολεύει έτσι).

2) Ισως είναι πιο βολικό να τροποποιήσεις λίγο τη function ώστε να μην χρησιμοποιεί globals αλλά parameters.
Αντί του

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

function greekDate&#40;&#41; &#123; 

   $now=time&#40;&#41;;
   ... //Ο υπόλοιπος κώδικας όπως είναι
&#125;
...
echo greekDate&#40;&#41;;
Να έχεις

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

function greekDate&#40;$now&#41; &#123; //εδώ μπαίνει παράμετρος

   //$now=time&#40;&#41;; //<-αυτό φεύγει
   ... //Ο υπόλοιπος κώδικας όπως είναι
&#125;
...

echo greekDate&#40; strtotime&#40;$row_kiniseis&#91;'date'&#93;&#41; &#41;; //<- το καλείς με παράμετρο αυτό που παίρνεις από τη βάση σου
Και ακόμα καλύτερα να δώσεις στην παράμετρο "$now" κάποιο πιο κατάλληλο όνομα, όπως "$userdate", ή "$usertimestamp". Κάτι τέλος πάντων που να καταλαβαίνει ο οποιοσδήποτε τι είναι αυτό το πράγμα.

ewigkeit
Δημοσιεύσεις: 36
Εγγραφή: 26 Μάιος 2008 17:15

Greek Date format μεσα σε repeat region

Δημοσίευση από ewigkeit » 27 Μάιος 2010 16:06

Θα το δοκιμασω και ετσι , προς το παρον το προσπαθω με explode μου κανει ποιο ευκολο...
Θα επανελθω :)

To column 'date' ειναι ηδη ορισμένο ως date μεσα στη βαση. Εννοω δεν το εχω varchar, text η οτιδηποτε αλλο.

ewigkeit
Δημοσιεύσεις: 36
Εγγραφή: 26 Μάιος 2008 17:15

Greek Date format μεσα σε repeat region

Δημοσίευση από ewigkeit » 27 Μάιος 2010 16:45

Λοιπον αυτος ειναι ο κωδικας ο οποιος δε πεταει σφαλμα μεν , δεν δουλευει δε

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

<?php // εξω απο την repeat region
function greekDate&#40;$current_date&#41; &#123;

$current_date = $row_kiniseis&#91;'date'&#93;;
$dayNum=date&#40;"D",$current_date&#41;;
$monthNum=date&#40;"n",$current_date&#41;;

   switch &#40;$dayNum&#41; &#123;
      case "Mon"&#58; $day = "Δευτέρα"; break;
      case "Tue"&#58; $day = "Τρίτη"; break;
      case "Wed"&#58; $day = "Τετάρτη"; break;
      case "Thu"&#58; $day = "Πέμπτη"; break;
      case "Fri"&#58; $day = "Παρασκευή"; break;
      case "Sat"&#58; $day = "Σάββατο"; break;
      case "Sun"&#58; $day = "Κυριακή"; break;
   &#125;

   $monthArray=Array&#40;
      '1'=>'Ιανουαρίου',
      '2'=>'Φεβρουαρίου',
      '3'=>'Μαρτίου',
      '4'=>'Απριλίου',
      '5'=>'Μαΐου',
      '6'=>'Ιουνίου',
      '7'=>'Ιουλίου',
      '8'=>'Αυγούστου',
      '9'=>'Σεπτεμβρίου',
      '10'=>'Οκτωβρίου',
      '11'=>'Νοεμβρίου',
      '12'=>'Δεκεμβρίου'
   &#41;;
return &#40;date&#40;$day.", j ".$monthArray&#91;$monthNum&#93;." Y",$current_date&#41;&#41;; 
&#125;
?>


<?php echo greekDate&#40; strtotime&#40;$row_kiniseis&#91;'date'&#93;&#41; &#41;;?> //Εντός repeat region
Μου επιστρέφει σε ολα τα records την Πέμπτη, 1 Ιανουαρίου 1970 .
Με αλλα λογια σα να μη τραβάει την ημερομηνια απο την βάση κατα ενα περιεργο λογο...η σαν να μη γινεται η συνδεση της function με το echo

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Greek Date format μεσα σε repeat region

Δημοσίευση από dva_dev » 27 Μάιος 2010 18:28

Σβήσε από τη function το

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

$current_date = $row_kiniseis&#91;'date'&#93;;
και ξαναδοκίμασε

ewigkeit
Δημοσιεύσεις: 36
Εγγραφή: 26 Μάιος 2008 17:15

Greek Date format μεσα σε repeat region

Δημοσίευση από ewigkeit » 28 Μάιος 2010 00:54

dva_dev έγραψε:Σβήσε από τη function το

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

$current_date = $row_kiniseis&#91;'date'&#93;;
και ξαναδοκίμασε

100000 ευχαριστω !!!
Δουλεψε επιτέλους!!!

Απάντηση

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

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

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