gpt4 book ai didi

php - 如何使用 jqgrid 发布数据中的 PHP 数组重新格式化 m/d/y 中的日期?

转载 作者:行者123 更新时间:2023-11-29 13:51:17 25 4
gpt4 key购买 nike

我有一个 jqgrid,它将更新发布数据发送到我的 php 以便处理到数据库。现在我在将其中三列转换为所需的 yyyy-mm-dd 格式以注入(inject) mysql 数据库时遇到问题。我如何将该数组中的数据从 m/d/Y 转换为 mysql yyyy-mm-dd?我到底在哪里正确转换以便正确处理数据并将其发送到数据库?请问我真的需要帮助,有什么建议吗?

enter image description here

jqgrid Colmodel代码:

{name:'lastvisit', index:'lastvisit', width:70, align:'right',formatter: 'date',srcformat:'yyyy-mm-dd',newformat: 'm/d/yy',editable:true, edittype: 'text',mtype:'POST' ,       editoptions:{size:10, dataInit:function(elem){$(elem).datepicker({dateFormat:'m/d/yy'});}}} ,


{name:'cdate', index:'cdate', width:70, align:'right',formatter: 'date',srcformat:'yyyy-mm-dd',newformat: 'm/d/yy', edittype: 'text',editable:true ,mtype:'POST' ,editoptions:{size:10, dataInit:function(elem){$(elem).datepicker({dateFormat:'m/d/yy'});}}} ,

{name:'ddate', index:'ddate', width:70, align:'right',formatter: 'date',srcformat:'yyyy-mm-dd',newformat: 'm/d/yy',date:'true',editable:true, edittype: 'text',editoptions:{size:10, dataInit:function(elem){$(elem).datepicker({dateFormat:'m/d/yy'});}}} ,

这是我的 PHP 代码:

/* columns array format:  $_POST['VARIABLE'] => 'DB column name' */
$crudColumns = array(
'id'=>'id'
,'name'=>'name'
,'id_continent'=>'id_continent'
,'lastvisit'=>'lastvisit'
,'cdate'=>'cdate'
,'ddate'=>'ddate'

);

然后将它们清洗并准备好进行处理:

/*----====|| GET and CLEAN THE POST VARIABLES ||====----*/
foreach ($postConfig as $key => $value){
if(isset($_REQUEST[$value])){
$postConfig[$key] = fnCleanInputVar($_REQUEST[$value]);
}
}
foreach ($crudColumns as $key => $value){
if(isset($_REQUEST[$key])){
$crudColumnValues[$key] = '"'.fnCleanInputVar($_REQUEST[$key]).'"';
}
}

数据库连接然后发送到数据库以更新行:

case $crudConfig['update']:
/* ----====|| ACTION = UPDATE ||====----*/
if($DEBUGMODE == 1){$firephp->info('UPDATE','action');}
$sql = 'update '.$crudTableName.' set ';
/* create all of the update statements */
foreach($crudColumns as $key => $value){ $updateArray[$key] = $value.'='.$crudColumnValues[$key]; };
$sql .= implode(',',$updateArray);
/* add any additonal update statements here */
$sql .= ' where id = '.$crudColumnValues['id'];
if($DEBUGMODE == 1){$firephp->info($sql,'query');}
mysql_query( $sql )
or die($firephp->error('Couldn t execute query.'.mysql_error()));
break;

最佳答案

我可能不明白这个问题,但如果您问如何从一种日期格式转换为另一种日期格式......

$bad_date = '5/16/2013';
$good_date = date('Y-m-d', strtotime($bad_date)); // returns 2013-05-16

...您可以像这样更改您的 foreach ($crudColumns) 代码...

foreach ($crudColumns as $key => $value){ 
if(isset($_REQUEST[$key])){
if ($key == 'lastvisit' || $key == 'cdate' || $key == 'ddate') {
$crudColumnValues[$key] = '"'.date('Y-m-d', strtotime($_REQUEST[$key])).'"';
} else {
$crudColumnValues[$key] = '"'.fnCleanInputVar($_REQUEST[$key]).'"';
}
}
}

关于php - 如何使用 jqgrid 发布数据中的 PHP 数组重新格式化 m/d/y 中的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16642679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com