0

我正在使用日期时间选择器来获取日期并在 db 中有一个我正在尝试更新的日期时间类型字段。

以下jquery代码发出请求edit.php

var nextdate=  $("#"+date).attr('value');
$('#div').load('edit.php?date='+nextdate);

在edit.php中,我得到了正确的日期2013-04-18 18:18:18

但在数据库中,它是以这种格式插入的:2013-04-18 00:00:00,实际日期在哪里2013-04-18 18:18:18

我也试过

echo $d =$_GET['date'];
echo $date=date("Y-m-d H:i:s",strtotime($d));

注意:直接在 db 上更新查询工作正常。

PHP代码是

update call_track  set  next_call_time='$date'   where  id='$id'

并且数据库查询是

update call_track set next_call_time='2013-04-18 18:18:18' where id='118' 

为什么这不适用于 PHP 代码。

这是 update.php 上的代码

function leaveChanger(id)
{
    var tpid ='display_'+id;
    var date='date_'+id;
    var nextdate=  $("#"+date).attr('value');

    $('#'+tpid).load('edit.php?id='+id+'&date='+nextdate);


}
</script>
<input type='button' name='' id='' value='Change'  class='button green' Onclick='leaveChanger(118);return false;'/> <div id='dispaly_$id' style='color:red;'></div> 
<input type='Text' value='$date' id='date_118' maxlength='25' size='19'/>
<img src='images2/cal.gif' onclick=\"javascript:NewCssCal ('date_118','yyyyMMdd','arrow',true,'24',true)\"/> <div id='display_118'></div>

编辑.php

include("../../dashboard/Includes/db_connect.php");
 echo $id=$_GET['id']; 

echo $d =$_GET['date'];
echo $date=date("Y-m-d H:i:s",strtotime($d)); 

echo $query="update  call_track set next_call_time='$date' where id='$id'";

if(mysql_query($query))
echo "Updated"; 
else
echo "Not Updated";
4

2 回答 2

1

感谢大家。问题已通过放置解决

    var nextdate=  $("#"+date).attr('value');
    var date =encodeURIComponent(nextdate);

    $('#'+tpid).load('edit.php?id='+id+'&date='+date);

encodeURIComponent 解决了我的问题。

于 2013-04-30T09:52:36.283 回答
0

您正在定义$pid变量,而不是$id. 替换这一行:

$query="update call_track next_call_time='$date' where id='$id'";

通过这个:

$query="update call_track next_call_time='$date' where id='$pid'";

下一次,尝试 var_dump() 整个查询:var_dump($query); 你会发现生成的查询是:

update call_track set next_call_time='2013-04-18 18:18:18' where id=''

这会影响 0 行,因为没有与空 id 匹配的记录。

于 2013-04-29T14:03:08.790 回答