0

データを JSON から CSV 形式に変換すると、CSV ファイルで以下のような出力が得られます。可能な提案はありますか?

0,"","","0","0","0","0","","","0","0","","","","0","0","0","0","0","0","","","","","","0","0","0","0","","0","","","0","0","0","","0","0","0","0","0","0","0","","","","","","","","","","","","","","","","","","","","","","","","","","","0","0","","","","","","","","0","0",","",""

私の機能

function csv($form){


$fp = fopen($form, "w");

$sql = "SELECT * FROM log AS jon 
                    LEFT JOIN r as rec ON jon.num=rec.num
                    LEFT JOIN b as bio ON jon.num=bio.num   
                    LEFT JOIN p as po ON jon.num=po.num
                    LEFT JOIN re as recur ON jon.num=recur.num
                    LEFT JOIN s as spir ON jon.num=spir.num
                    LEFT JOIN te as ten ON jon.num=ten.num
                    LEFT JOIN tt as ttai ON jon.num=ttai.num
                    LEFT JOIN vi as vis ON jon.num=vis.num
                    LEFT JOIN ac as acui ON jon.num=acui.num
                    LEFT JOIN au as aud ON jon.num=aud.num
                    LEFT JOIN e as ec ON jon.num=ec.num
                    LEFT JOIN ha as han ON jon.num=han.num
                    LEFT JOIN pe as peri ON jon.num=peri.num
                    LEFT JOIN pr as pre ON jon.num=pre.num";
$res=mysql_query($sql);
if(!$res) die ('Unable to run query:'.mysql_error());


    while ($row = mysql_fetch_assoc($res))
{
    //echo implode(', ', $row)."\r\n";

   fputcsv(STDOUT, $row);
}        

PHPファイル内

$rslt = mysql_query("SELECT * FROM ".$table." WHERE num = ".$id."") or die("Unable to Execute QueryThe error was" . mysql_error());                 
$record = mysql_fetch_assoc($rslt);
var jsonObject = JSON.stringify($record);    
4

3 に答える 3

2

このためのfputcsv()もあります:

$rslt = mysql_query("SELECT * FROM ".$table." WHERE no = ".$id."") or die("Unable to Execute QueryThe error was" . mysql_error());
while ($row = mysql_fetch_assoc($rslt))
{
    fputcsv(STDOUT, $row);
}

この関数は、コンマを含む値を処理します。

于 2012-06-19T10:50:41.093 に答える
0
mysql_connect("localhost","root","");
mysql_select_db("test");
$rslt = mysql_query("SELECT * FROM alok") or die("Unable to Execute QueryThe error was" . mysql_error());                 
$record = mysql_fetch_assoc($rslt);
$jval = json_encode($record);

echo $jval;
database
name(field) ["6","1","1"]
Result
{"name":"[\"6\",\"1\",\"1\"]"}

ただし、以前にjsonデコード形式で保存されたデータ。

于 2012-06-19T10:47:45.167 に答える
0
$rslt = mysql_query("SELECT * FROM ".$table." WHERE no = ".$id."") or die("Unable to Execute QueryThe error was" . mysql_error());
while ($row = mysql_fetch_assoc($rslt))
{
    echo implode(', ', $row)."\r\n";
}

,上記の解決策は、フィールドにないことを前提としていることに注意してください。

于 2012-06-19T10:44:09.037 に答える