jQuery MiniUI

 找回密码
 立即注册
查看: 16212|回复: 11
打印 上一主题 下一主题

请教:关于时期时间转换的问题 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2012-6-14 20:09:36 |只看该作者 |倒序浏览
我的后台是ThinkPHP+MySQL,数据库表中“createtime ”字段或“worktime”字段使用的INT(11),保存结果为: “1339675132
所有列表操作都使用同一个函数查询并返回json数据,并在后台列表中将1339675132 ”  显示为:“2012-06-14 ”格式。
是否在返回json前就要先转换成“ 2012-06-14 ”格式 ,如果是这样,但我有些表字段命名也不一定相同。
请问:我该怎样做才好?


Rank: 2

沙发
发表于 2012-6-14 21:43:29 |只看该作者
字段格式改为datetime或者date
int格式不可能用-的吧
另外你说的保存是不是表单提交的?
表单提交的转换以后是xxxx-xx-xxHxx-xx-xx
另外不知道你提交的表单是json还是原始的数据对象

Rank: 2

板凳
发表于 2012-6-14 21:46:14 |只看该作者
我也用thinkphp做的
我觉得提交为json后台处理麻烦
直接用  var data = form.getData();                 
var json = mini.encode(data);
  var json = eval("("+json+")");
转换为数组向量
后台可以直接create()提交的数据

Rank: 2

地板
发表于 2012-6-14 21:49:06 |只看该作者
carboncocoa 发表于 2012-6-14 21:46
我也用thinkphp做的
我觉得提交为json后台处理麻烦
直接用  var data = form.getData();                 

另外别用minidecode
minidecode处理的日期是分为2个字段的
一段是时间,一段是日期
所以用eval比较好
eval以后日期时间格式为类似于
2000-01-11H22:22:22
MYSQL用datetime格式可以直接处理
另外我觉得createtime用thinkphp的自动填充更理想~~

Rank: 2

5#
发表于 2012-6-15 13:18:32 |只看该作者
谢谢carboncocoa的解答。
你的:
直接用  var data = form.getData();                 
var json = mini.encode(data);
  var json = eval("("+json+")");
转换为数组向量
后台可以直接create()提交的数据
编辑页模板表单是怎样处理的?还是用传统的Action="url"传递吗?那就不能用到“mini.encode(data); ”这个了啊。

Rank: 2

6#
发表于 2012-6-15 13:26:31 |只看该作者
我以前的编辑模板页面:
  1. <form id="form1" method="post" action="__URL__/update">
  2.   <input name="user_id" class="mini-hidden" value="<?php echo $_SESSION[C('USER_AUTH_KEY')] ?>"/>
  3.   <input name="updatetime" class="mini-hidden" value="<?php echo time(); ?>" />
  4. <input name="id" class="mini-hidden" value="{$vo.id}" />
  5.     <table>
  6.             <tr>
  7.         <td style="width:70px;">用 户 名:</td>
  8.         <td style="width:150px;"><input name="username" class="mini-textbox" required="true"/></td>
  9.         <td style="width:70px;">真实姓名:</td>
  10.         <td style="width:150px;"><input name="name" class="mini-textbox" required="true"/></td>
  11.       </tr>
  12. .........................

  13.     </table>
  14.   </div>
  15.   <div style="text-align:center;padding:10px;">
  16.     <a class="mini-button" onclick="onOk" style="width:60px;margin-right:20px;">确定</a>
  17.     <a class="mini-button" onclick="onCancel" style="width:60px;">取消</a>
  18.     <a class="mini-button" onclick="form1.submit();" style="width:60px;margin-right:20px;">传统表单提交:确定</a>
  19.   </div>
  20. </form>
  21. <script type="text/javascript">
  22. mini.parse();
  23. var form = new mini.Form("form1");

  24. function SaveData() {
  25.   var o = form.getData();
  26.   form.validate();
  27.   if (form.isValid() == false) return;

  28.   var json = mini.encode([o]);
  29.   //alert("提交成功,返回结果:" + json);
  30.   $.ajax({
  31.     url: "__URL__/update",
  32.     type: "post",
  33.     data: { returnAjaxData: json },
  34.     cache: false,
  35.     success: function (text) {
  36.       CloseWindow("Ok");
  37.       //alert("修改完毕!");
  38.     },
  39.     error: function (jqXHR, textStatus, errorThrown) {
  40.       alert(jqXHR.responseText);
  41.       CloseWindow();
  42.     }
  43.   });
  44. }
  45. //以下js代码省略...........
  46. </script>
复制代码
请教:
  1. 直接用  var data = form.getData();                 
  2. var json = mini.encode(data);
  3.   var json = eval("("+json+")");
  4. 转换为数组向量
  5. 后台可以直接create()提交的数据
复制代码
前台提交和后台是如何处理的呢?

Rank: 9Rank: 9Rank: 9

7#
发表于 2012-6-15 14:33:59 |只看该作者
你下载下最新的php版本。
然后参考:
1)前台:http://miniui.com/demo/#src=datagrid/celledit.html
2)后台:demo/data/AjaxService.php

Rank: 2

8#
发表于 2012-6-15 15:06:28 |只看该作者
cqdzlyh 发表于 2012-6-15 13:26
我以前的编辑模板页面:请教:前台提交和后台是如何处理的呢?

模板里的表单我是根据 miniui示例做的
用miniui提供的ajax方法提交的
你可以尝试下跟thinkajax结合
我反正没做出来

var json = mini.encode(data);
json = eval("("+json+")");
前面的不可以少
如果你不用mini.encode(data)
有关日期的字段都是接收不了的

后台跟普通的表单提交一样,
只需要接收你提交的数据就可以了

Rank: 2

9#
发表于 2012-6-15 16:28:37 |只看该作者

使用miniui时的前台表单:

<form id="form1" method="post">
  <input name="updatetime" class="mini-hidden" value="<?php echo toDate(); ?>" />
  <input name="id" class="mini-hidden" value="{$vo.id}" />
  <div style="padding-left:11px;padding-bottom:5px;">
    <table>
            <tr>
        <td style="width:70px;">用 户 名:</td>
        <td style="width:150px;"><input name="username" class="mini-textbox" required="true"/></td>
        <td style="width:70px;">真实姓名:</td>
        <td style="width:150px;"><input name="name" class="mini-textbox" required="true"/></td>
      </tr>
      <tr>
        <td >性  别:</td>
        <td ><select name="sex" class="mini-radiobuttonlist"><option value="1">男</option><option value="2">女</option><option value="0">保密</option></select></td>
        <td >出生日期:</td>
        <td ><input name="birthday" class="mini-datepicker" required="true"/></td>
      </tr>
    </table>
  </div>
  <div style="text-align:center;padding:10px;">
    <a class="mini-button" style="width:60px;margin-right:20px;">确定</a>
    <a class="mini-button" style="width:60px;">取消</a>
  </div>
</form>

<script type="text/javascript">
mini.parse();
var form = new mini.Form("form1");

function SaveData() {
  var data = form.getData();
  form.validate();
  if (form.isValid() == false) return;
  var json = mini.encode(data);
  json = eval("("+json+")");
  //alert("提交成功,返回结果:" + json);
  $.ajax({
    url: "__URL__/update",
    type: "post",
    data: { returnAjaxData: json },
    cache: false,
    success: function (text) {
      CloseWindow("Ok"+text);
      //alert("修改完毕!");
    },
    error: function (jqXHR, textStatus, errorThrown) {
      alert(jqXHR.responseText);
      CloseWindow();
    }
  });
}

function onOk(e) {
  SaveData();
}

</script>
</body>
</html>

使用miniui时的 后台更新:
  1. function update() {
  2.   $Data = $_POST['returnAjaxData'];
  3.   $name=$this->getActionName();
  4.   $model = D ( $name );
  5. /*
  6.                 if (false === $model->create ()) {
  7.                         echo ( $model->getError () );
  8.                 }*/

  9. //$list=$model->add ();       //新增
复制代码
        $list=$model->where('id='.$Data["id"])->save($Data);   //只有这样才能更新
if (false !== $list) {
  echo ('编辑成功!');
                } else {
  echo ('编辑失败!');
                }
        }虽然能够更新,但是updatetime字段不能更新。
我参考了两位老师的做法,不使用miniui的情况下我的系统都能正常使用$model->create ()$model->save () 进行添加、更新的。
miniui 为06-13的版本。


Rank: 2

10#
发表于 2012-6-15 17:16:18 |只看该作者
cqdzlyh 发表于 2012-6-15 16:28
使用miniui时的前台表单:

模板里用PHP
<php>echo  </php>
就算普通的表单你不用php标签,不出问题吗?
要不你用firebug看看你提交的是什么

Archiver|普加软件

GMT+8, 2024-11-29 16:39 , Processed in 1.021592 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部