2016-09-06 132 views
-3

我试图将SQL datetime转换为Y/m/d G:i:s格式。 它已经格式化,但在每一个FRONTSLASH面前的一个额外的反斜杠...我已经试过str_replace函数和的stripslashes和他们的非工作过......从date()中删除反斜杠

数据:http://www.zewde.org/instagram/script_new/data.php

代码:

<?php 
define('DB_NAME', 'FollowersCount'); 
define('DB_USER', '******'); 
define('DB_PASSWORD', '******'); 
define('DB_HOST', '*.*.*.*'); 

$connection = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 

if (!$connection) { 
    die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("FollowersCount", $connection); 

$sth = mysql_query("SELECT Date FROM Count ORDER BY Date"); 
$sthh = mysql_query("SELECT Count FROM Count ORDER BY Date"); 


$sthhh = mysql_query("select a.ID, a.Count,coalesce(a.Count -(select b.Count from Count b where b.ID = a.ID - 1), 5) as diff from Count a ORDER BY Date"); 


$rows = array(); 
while(($r = mysql_fetch_array($sth)) && ($rr = mysql_fetch_array($sthh)) && $rrr = mysql_fetch_array($sthhh)) 
{ 
    $temp_count = intval($rr['Count']); 
    $temp_date1 = $r['Date']; 

    $myFormatForView = date("Y/m/d G:i:s", strtotime($temp_date1)); 
    $final = str_replace("\\", "", $myFormatForView); //Doesn't work, neither does stripslashes... 


    $temp = array($final, $temp_count); 
    $temp_s = implode(", ", $temp); 
    $rows['data'][][] = $temp_s; 
} 


$result = array(); 
array_push($result,$rows); 
$Jz = json_encode($result, JSON_NUMERIC_CHECK); 

echo $Jz; 

mysql_close($connection); 
?> 
+0

你输出JSON。 '\ /'是你如何用JSON字符串表示'/'。数据中没有'''',那只是编码。 – Quentin

+0

而在stackoverflow上,编辑它并没有帮助你,它仍然存在。请求一个mod完全删除该问题并更改密码! – baao

+0

感谢您的帮助,tkausl的答案是正确的:) – Lofty

回答

4

这是json_encode的错。

​​3210:

JSON_UNESCAPED_SLASHES
不要逃避/。自PHP 5.4.0起可用。

所以

$Jz = json_encode($result, JSON_NUMERIC_CHECK | JSON_UNESCAPED_SLASHES); 

应该摆脱那些反斜杠。

+0

上帝保佑你,谢谢你。我正在抓我的头一阵子哈哈。不知道我会很快得到答案。干杯!我不明白为什么我总是会陷入低谷...... – Lofty

+0

@高尚的人通常会对快速修复的问题下决心,因为它往往表明提问的人在提问之前没有做足够的研究。堆栈溢出并不打算作为修复相对新手错误的第一个呼叫点(虽然这正是它慢慢变成的) – Martin

2

更好的格式您直接在查询日期...

SELECT DATE_FORMAT(Date,'%Y/%m/%d %k:%i:%s') AS niceDate 
FROM Count 
ORDER BY Date 

here所有格式化选项

+0

这是一个更简洁的更简洁的解决方案。 – Martin