انجمن


جلالی شدن post_date یا اطلاعاتی که از دیتا بیس میگیریم؟  (۸ نوشته)

  • بهرنگ

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۱۳۹۹
    تشکر شده: ۴۵۱ بار
    # نوشته شده: ۱۵ سال پیش
    ۴ مهر ۱۳۸۷ - ۱۵:۵۱

    یک سری کد هست که گاهی اوقات برای نمایش تاریخ و ساعت به کار میره و از توابع خاصی استفاده میکنه مثلاً کد ها به این صورت شروع میشه :

    <?php
            $now = gmdate("Y-m-d H:i:s",time());
            $lastmonth = gmdate("Y-m-d H:i:s",gmmktime(date("H"), date("i"), date("s"), date("m")-1,date("d"),date("Y")));
            $popularposts = "SELECT ID, post_title, post_date, comment_count, COUNT($wpdb->comments.comment_post_ID) AS 'popular' FROM $wpdb->posts, $wpdb->comments WHERE comment_approved = '1' AND $wpdb->posts.ID=$wpdb->comments.comment_post_ID AND post_status = 'publish' AND post_date < '$now' AND post_date > '$lastmonth' AND comment_status = 'open' GROUP BY $wpdb->comments.comment_post_ID ORDER BY popular DESC LIMIT 11";
            $posts = $wpdb->get_results($popularposts);
            $popular = '';
            if($posts){
            foreach($posts as $post){
            $post_title = stripslashes($post->post_title);
            $post_date = stripslashes($post->post_date);
            $comments = stripslashes($post->comment_count);
            $guid = get_permalink($post->ID);
            $popular .= '<li><span class="title"><a href="'.$guid.'" title="'.$post_title.'">'.$post_title.'</a></span><br/>
            <span class="meta"> With <a href="'.$guid.'#commenting" title=" Read the comments on '.$post_title.'">'.$comments.' comments</a> since '.$post_date.'</span></li>';
            }
            }echo $popular;
            ?>

    این یک سری کده که برای ما پست های Popular رو نمایش میده به همراه تعداد پاسخ ها و تاریخ و ساعت مربوطه...

    آیا امکانش هست تاریخ ، جلالی نمایش پیدا کنه؟ چون در حالی که افزونه ی جلالی ساز(!) داره اجرا میشه ، خروجی این کد ها میلادیه و جلالی نیست.

  • گناهکار

    آفلاین
    کلیددار
    تعداد نوشته‌ها: ۳۵۳۵
    تشکر شده: ۲۵۴۴ بار
    # نوشته شده: ۱۵ سال پیش
    ۴ مهر ۱۳۸۷ - ۱۶:۲۴

    از jdate استفاده کن.

  • بهرنگ

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۱۳۹۹
    تشکر شده: ۴۵۱ بار
    # نوشته شده: ۱۵ سال پیش
    ۴ مهر ۱۳۸۷ - ۱۷:۲۰

    چیزی رو به عنوان خروجی نمایش نمیده... :-(
    در واقع من خواستم gmdate رو به jdate تبدیل کنم که خروجی نداد...
    بعدش post_date ها رو به post_jdate تبدیل کردم و اونم نشد ( :P )
    بعدش توی خط سوم date ها رو به jdate تبدیل کردم که اونم نشد.

  • گناهکار

    آفلاین
    کلیددار
    تعداد نوشته‌ها: ۳۵۳۵
    تشکر شده: ۲۵۴۴ بار
    # نوشته شده: ۱۵ سال پیش
    ۴ مهر ۱۳۸۷ - ۱۷:۳۳

    به این jdate رو اعمال کن بسته به نوع ساختار خروجی که می‌ده:
    $post_date = stripslashes($post->post_date);

  • بهرنگ

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۱۳۹۹
    تشکر شده: ۴۵۱ بار
    # نوشته شده: ۱۵ سال پیش
    ۴ مهر ۱۳۸۷ - ۱۷:۵۷

    جالب شد الان...تنها حالتی که خروجی میده اینه که به صورت زیر بنویسیم :
    $post_date = stripslashes(jdate($post->post_date));
    بعد خروجی تنها تغییری که میکنه اینه که عدد ها به جای اینکه لاتین باشه به خط خودمونه ...

    مثال از خروجی :

    # سلام جهان!
    به همراه 1 پاسخ از ۲۰۰۸-۰۸-۲۷ ۱۹:۴۰:۲۰

  • گناهکار

    آفلاین
    کلیددار
    تعداد نوشته‌ها: ۳۵۳۵
    تشکر شده: ۲۵۴۴ بار
    # نوشته شده: ۱۵ سال پیش
    ۴ مهر ۱۳۸۷ - ۱۸:۱۰

    این دستور رو استفاده کنین:

    $post_date = stripslashes($post->post_date);
    $post_date_timestamp = strtotime($post_date);
    $post_date = jdate('Y-m-d H:i:s',$post_date_timestamp);

    البته اگه ساختارش رو درست تشخیص داده باشم (Y-m-d H:i:s)

  • prince

    آفلاین
    عضو
    تعداد نوشته‌ها: ۷۰
    تشکر شده: ۳۴ بار
    # نوشته شده: ۱۵ سال پیش
    ۴ مهر ۱۳۸۷ - ۲۰:۱۶

    متغیر post_date رو به صورت زیر مقدار بده
    $post_date = jdate("Y-m-d H:i:s", strtotime($post->post_date));

    برای شکل ظاهریش به تابع date مراجعه کن.

    پیوست: الان که به کد های گناهکار نگاه کردم هیچ فرقی با این کد بالا نمی کنه!

  • بهرنگ

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۱۳۹۹
    تشکر شده: ۴۵۱ بار
    # نوشته شده: ۱۵ سال پیش
    ۶ مهر ۱۳۸۷ - ۰۰:۵۶

    ممنونم . به خوبی جواب داد. ;-)

درباره‌ی این موضوع



برچسب‌ها

هیچ برچسبی نیست.