2016-09-06 3 views
-3

SQL datetime을 Y/m/d G : i : s 형식으로 변환하려고합니다. ... 그것은 형식의, 그러나 모든 FRONTSLASH의 앞에 백 슬래시가 ... 내가 않는 str_replace와 위해서 stripslashes와 일한 이들의 비를 시도했습니다날짜에서 백 슬래시 제거

데이터 : 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

에 대한 here를 참조하십시오. '\ /'는 JSON 문자열에'/'를 어떻게 표현 하는지를 나타냅니다. 데이터에는''\''이 없으며, 그것은 단지 인코딩 일뿐입니다. – Quentin

+0

그리고 stackoverflow에, 그것을 편집해도 도움이되지 않습니다, 아직 거기에 있습니다. 비밀 번호를 변경하고 질문을 완전히 삭제하도록 모드를 요청하십시오! – baao

+0

도움을 주셔서 감사합니다. tkausl의 대답은 맞습니다. – Lofty

답변

4

이것은 json_encode의 오류입니다.

json_encode() options

:

JSON_UNESCAPED_SLASHES
/을 탈출하지 마십시오. PHP 5.4.0부터 사용 가능합니다.

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

그 백 슬래시를 제거해야한다. 직접 쿼리

+0

신의 축복을 보내 주셔서 감사합니다. 나는 잠시 동안 내 머리를 긁적하고 있었다. 나는 이것에 대한 답을 빨리 얻을 줄을 몰랐다. 건배! 내가 왜 항상 downvoted 얻을 이해가 안돼요 .... – Lofty

+0

@ Lofty 사람들은 질문을 묻는 사람이 질문을하기 전에 충분한 연구를 수행하지 않았 음을 보여 경향이 있기 때문에 빠른 수정되는 질문을 일반적으로 downvote 것입니다. Stack Overflow는 초보자 용 버그를 수정하기위한 첫 번째 호출 지점이 아닙니다 (천천히 진행되고 있지만). – Martin

2

더 나은 형식으로 날짜 ...

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

당신은 JSON을 출력하고 모든 형식화하는 옵션

+0

이것은보다 간결한 솔루션입니다. – Martin