Time search in MySQL and PHP

GT9

Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]
    මචං මගේ ටේබල් එකක unix timestamp record වෙන field එකක් තියෙනව. ඒ ෆීල්ඩ් එක තියෙන්නේ task එක complete කරපු දිනය සහ වේලාව සටහන් වෙන්න.

    client ට ඕන උනා දිනය අනුව සහ වේලාව අනුව සර්ච් කරන්න පුලුවන් වෙන්න. ඉතින් මම Mysql වල Like ඔපරේටර් එක යූස් කරල ටේබල් එකේ තියෙන unix timestamp එක MySQL වල FROM_UNIXTIMESTAMP() කියන FUNCTION එක යූස් කරල ෆෝමැට් කරල අරන් සර්ච් බොක්ස් එකෙන් සබ්මිට් වෙන GET variable එකක් එක්ක compare කරල බැලුව.

    එකෙදි මචං දිනය කිසිම ගැටලුවක් නැතුව සර්ච් වෙනව. නමුත් time එක හරියට සර්ච් වෙන්නෑ.

    මෙහෙමයි මම කරේ.

    FROM_UNIXTIME(task_completed_on, "%Y-%m-%d %T")

    ඕක GET request එකත් එක්ක සසදල බැලුව. හරියන්නෑ මචංල :no:

    මේකට හේතුව timezone වෙනස්කම වෙන්න පුලුවන්ද? ඒකත් හිතන්න අමාරුයි මොකද PHP Script එකෙන්නේ timestamp එක db එකට දාන්නේ. :baffled:
     

    ipcreation

    Junior member
  • Jul 15, 2016
    84
    22
    8
    Dubai , U.A.E
    WHERE eka use karapan machn me widihata

    $dbFormat = date('Y-m-d H:i:s', strtotime('2016-08-07 9:30 PM'));
    mysql_query("select * from table_name where 'task_completed_on'=$dbFormat")
     
    Last edited:
    • Like
    Reactions: GT9

    GT9

    Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]
    WHERE eka use karapan machn me widihata

    $dbFormat = date('Y-m-d H:i:s', strtotime('2016-08-07 9:30 PM'));
    mysql_query("select * from table_name where 'task_completed_on'=$dbFormat")

    තෑන්ක්ස් මචං රිප්ලයි එකට. :yes::D

    පොඩි ගැටලුවක් තියෙනව මචං. කල්යින්ට් ට ඕන වෙන වෙනම කොටස් වශයෙන් උනත් සර්ච්කරන්න පුලුවන් වෙන්න.

    මෙන්න මේ වගේ.

    2016-07-04 09

    ඔය රතුපාට තියෙන්නේ එදා දවසේ පැය (09 වන පැය).

    විනාඩිත් එක්ක ඕන උනොත්.

    2016-07-04 09:27

    තත්පරත් එක්කම ඕන උනොත්

    2016-07-04 09:27:56

    where clause එකෙන් මචං exact match එකක්නේ වෙන්නේ ඒකයි ගැටලුව :D

    like එකෙන් මැච් එකක් තියෙනවනම් return වෙන නිසා ගන්න පුලුවන්

    උදාහරනයකට ඔය උඩ 2016-07-04 ට ගහල සර්ච් කරාම ගැටලුවක් නැතුව එනව. ඒකියන්නේ දිනයන් සර්ච් වෙනව. ටයමි එක තමයි එන්නේ නැත්තේ. :baffled:
     

    aluthKolla0001

    Active member
  • Dec 27, 2015
    709
    63
    28
    colombo
    Machan, mehema karanna puluwan, datetime column eka date part ekai time part ekai wena wenama split karala compare karanna puluwan
    (cast karanna pluwan)

    mysql> select cast('2011-10-24 15:20:10' as date);
    +-------------------------------------+
    | cast('2011-10-24 15:20:10' as date) |
    +-------------------------------------+
    | 2011-10-24 |
    +-------------------------------------+
    1 row in set (0.00 sec)

    mysql> select cast('2011-10-24 15:20:10' as time);
    +-------------------------------------+
    | cast('2011-10-24 15:20:10' as time) |
    +-------------------------------------+
    | 15:20:10 |
    +-------------------------------------+
    1 row in set (0.00 sec)



    Ita passe oya date, time kiyana parameters walata where clouse eka dala exact match karanna . Nethnam > ,<, <=, >= wage dala compare karanna date time range walata. Ekata oni nam client UI eken dena value eka poddak hadala ewanna php walin, ita passe apahu compare karanna ona ne.
     
    Last edited:
    • Like
    Reactions: GT9

    GT9

    Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]
    Machan, mehema karanna puluwan, datetime column eka date part ekai time part ekai wena wenama split karala compare karanna puluwan
    (cast karanna pluwan)

    mysql> select cast('2011-10-24 15:20:10' as date);
    +-------------------------------------+
    | cast('2011-10-24 15:20:10' as date) |
    +-------------------------------------+
    | 2011-10-24 |
    +-------------------------------------+
    1 row in set (0.00 sec)

    mysql> select cast('2011-10-24 15:20:10' as time);
    +-------------------------------------+
    | cast('2011-10-24 15:20:10' as time) |
    +-------------------------------------+
    | 15:20:10 |
    +-------------------------------------+
    1 row in set (0.00 sec)



    Ita passe oya date, time kiyana parameters walata where clouse eka dala exact match karanna . Nethnam > ,<, <=, >= wage dala compare karanna date time range walata. Ekata oni nam client UI eken dena value eka poddak hadala ewanna php walin, ita passe apahu compare karanna ona ne.

    machan where eka dapan me wage ube logic ekata match wena widihata

    where $start > $end

    මචංල දෙන්නමට බොහොම ස්තුතියි. :yes::D:D:D

    මම මචං වැඩේ ගොඩදාගත්ත. ගැටලුව වෙලා තිබ්බේ timezone එක සෙට් නොකරපු එක timezone එක සෙට් කරාම තත්පරේටම හරියටම වැඩ. :love::D

    දෙන්නමට රෙප් දුන්න :D:yes:
     

    aluthKolla0001

    Active member
  • Dec 27, 2015
    709
    63
    28
    colombo
    මචංල දෙන්නමට බොහොම ස්තුතියි. :yes::D:D:D

    මම මචං වැඩේ ගොඩදාගත්ත. ගැටලුව වෙලා තිබ්බේ timezone එක සෙට් නොකරපු එක timezone එක සෙට් කරාම තත්පරේටම හරියටම වැඩ. :love::D

    දෙන්නමට රෙප් දුන්න :D:yes:

    Ela Ela.