رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تبدیل یک سطر خوانده شده از DB به فرمت JSON یا CSV
#1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function convertResult($rs, $type, $jsonmain="") {
    // receive a recordset and convert it to csv
    // or to json based on "type" parameter.
    $jsonArray = array();
    $csvString = "";
    $csvcolumns = "";
    $count = 0;
    while($r = mysql_fetch_row($rs)) {
        for($k = 0; $k < count($r); $k++) {
            $jsonArray[$count][mysql_field_name($rs, $k)] = $r[$k];
            $csvString.=","".$r[$k].""";
        }
        if (!$csvcolumns) for($k = 0; $k < count($r); $k++) $csvcolumns.=($csvcolumns?",":"").mysql_field_name($rs, $k);
        $csvString.="n";
        $count++;
    }
    $jsondata = "{"$jsonmain":".json_encode($jsonArray)."}";
    $csvdata = str_replace("n,","n",$csvcolumns."n".$csvString);
    return ($type=="csv"?$csvdata:$jsondata);
}

نحوه ی استفاده :

1
2
3
4
5
//... connect ...
$sql = "select * from users limit 0,10";
$rs = mysql_query($sql);
$jsonString = convertResult($rs,"json","users"); // json encoded string
$csvString = convertResult($rs,"csv"); // scv output
پاسخ
تشکر شده توسط: php , abdollah110110




کاربران در حال بازدید این موضوع: