نمایش نتایج 1 تا 4 از 4

نام تاپیک: مشکل مقایسه تاریخ در php

  1. #1

    Question مشکل مقایسه تاریخ در php

    سلام و درود
    سه تاریخ در دیتابیس ثبت کردم به ترتیب: 15/12/1397 و 01/04/1398 و 10/04/1398 (ارقام انگلیسی)
    و میخام اون سطر هایی که تاریخشون کوچکتر یا مساوی تاریخجاری(امروز)(ارقام انگلیسی) هستند و flag شون 0 هست رو برگردونه
    که در خروجی 01/04/1398 رو برمیگردونه اما 15/12/1397 رو نه.
    دوستان لطفا راهنمایی کنید.
    کد:

    <?phpinclude( "../object/main.php" );include( "../tools/date/jdf.php" );$security = new security;$connect = new connect;$template = new template;?><!DOCTYPE html><html lang="fa" dir="rtl">
    <head> <meta charset="utf-8"></head><?php$date1 = jdate( 'd/m/Y', '', '', '', 'en' );$sql_msg = "SELECT * FROM `tbl_notes` WHERE `date` <='" . $date1 . "'AND flag = 0";$result_msg = $connect->query( $sql_msg );$counter = 0;while ( $rows_msg = mysql_fetch_assoc( $result_msg ) ) { $counter++; echo( $rows_msg[ 'title' ] );}if ( $counter != 0 ) echo "<font color=red>($counter)</font>&nbsp;&nbsp;یادداشت خوانده نشده";else echo "یادداشت ها";?>

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مهر 1391
    محل زندگی
    ایران-گیلان-ماسال
    پست
    194

    نقل قول: مشکل مقایسه تاریخ در php

    سلام و درود بر شما.
    تاریخ ها را به timestamp تبدیل کن و در دیتابیس قرار بده
    تاریخ ها را به تاریخ میلادی برگردون و سپس به timestamp تبدیل کن و مقایسه کن و دوباره از timestamp به میلادی و از میلادی به خورشیدی برگردون.
    آخرین ویرایش به وسیله kazemimorteza : یک شنبه 09 تیر 1398 در 23:38 عصر

  3. #3
    کاربر دائمی
    تاریخ عضویت
    مهر 1391
    محل زندگی
    ایران-گیلان-ماسال
    پست
    194

    نقل قول: مشکل مقایسه تاریخ در php

    https://jdf.scr.ir/jdf/?t=php

    با استفاده از لایبراری بالا تاریخ جلالی و میلادی را به هم تبدیل می کنی. برای تبدیل تاریخ جلالی به میلادی فرض کنید که تاریخ را به صورت یک رشته داری با استفاده از تابع explode روز و ماه و سال را از هم جدا کن بعد به عنوان وردی به تابع jalali_to_gregorian بفرست حالا تاریخ میلادی را بدست اوردی. حالا می تونی تاریخ میلادی را با استفاده از تابع strtototime به timestamp تبدیل کن حالا یه دونه عدد داری و می تونی مقایسه کنی دو تا تاریخ را با هم.

  4. #4

    نقل قول: مشکل مقایسه تاریخ در php

    نقل قول نوشته شده توسط user.mohammad مشاهده تاپیک
    سلام و درود
    سه تاریخ در دیتابیس ثبت کردم به ترتیب: 15/12/1397 و 01/04/1398 و 10/04/1398 (ارقام انگلیسی)
    و میخام اون سطر هایی که تاریخشون کوچکتر یا مساوی تاریخجاری(امروز)(ارقام انگلیسی) هستند و flag شون 0 هست رو برگردونه
    که در خروجی 01/04/1398 رو برمیگردونه اما 15/12/1397 رو نه.
    دوستان لطفا راهنمایی کنید.
    سلام

    همانطور که دوستان اشاره کردند بهتر است تاریخ را اگر مربوط به زمان درج اطلاعات و یا بروزرسانی آن می باشد را با فرمت timestamp و اگر ممکن است تاریخ هر مقدار کوچک یا بزرگی را بگیرد با فرمت datetime یا date ذخیره کنید.

    گاهی نیاز هست که اطلاعات ماه و سال شمسی ذخیره شود تا راحت تر بتوان کوئری های GROUP BY روی تاریخ پیاده کرد. هر چند بهتر است در کنار آن تاریخ با فرمت timestamp نیز درج گردد.

    دقت کنید که سال سمت چپ و ماه وسط و روز سمت راست قرار گیرد مثلا بصورت ۱۳۹۸۰۴۲۱ درج شود حتما سال ۴ رقمی و ماه و روز دو رقمی باشند. بدین ترتیب به راحتی می توانید از شروط کوچکتر و بزرگتر استفاده کنید.

تاپیک های مشابه

  1. پاسخ: 3
    آخرین پست: جمعه 03 خرداد 1398, 09:34 صبح
  2. سوال: نحوه مقایسه یک رشته هش شده با الگوریتم md5و مقایسه صحت آن
    نوشته شده توسط esafb52 در بخش C#‎‎
    پاسخ: 7
    آخرین پست: شنبه 03 فروردین 1392, 13:44 عصر
  3. خواندن شماره سریال سی دی /فلاپی دیسک / هارد دیسک (امتحان کنید ضرر نداره)
    نوشته شده توسط احمد رایان در بخش برنامه نویسی در 6 VB
    پاسخ: 6
    آخرین پست: پنج شنبه 11 اسفند 1384, 00:51 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •