2017-02-06 7 views
0

SQL Serverを初めて使用しています。私は、SQL Serverのテーブルからデータを取得し、それをJSON形式に変換してHTMLテーブルに表示しようとします。私はこれを2つ多くしようとします。しかし、まだ成功することはできません。誰かがこれを行う方法を知っていれば私を助けてください。あなたの努力のいずれかが評価されます。SQLテーブルからデータを選択し、json formateで変換しますか?

私のT-SQLクエリです。

function Crawled_sites_total(){ 
//$sql = "SELECT * FROM crawl_site"; 
$sql = "SELECT 
    CSCH.CrawlSiteID, CSCH.CrawlHistoryID, CSCH.CountAtStart, 
    CSCH.CountAtEnd, CSCH.RecodsFound, CSAR.CrawlSite, 
    CSAR.AverageRecords as Standered, 
    CAST((((CONVERT(FLOAT, CSCH.RecodsFound) - CONVERT(FLOAT, CSAR.AverageRecords)) * 2 * 100)/(CONVERT(FLOAT, CSAR.AverageRecords) + CONVERT(FLOAT, CSCH.RecodsFound))) AS DECIMAL(18, 2)) as Tolerance 
FROM 
    csCrawlSiteCrawledHistory as CSCH 
INNER JOIN 
    csCrawledHistory as CH on CSCH.CrawlHistoryID = CH.CrawlHistoryID 
INNER JOIN 
    csCrawlSiteAverageRecords as CSAR on csch.CrawlSiteID = CSAR.CrawlSiteId 
WHERE 
    CH.CrawlHistoryID = (SELECT TOP 1 C.CrawlHistoryID 
         FROM csCrawledHistory C 
         WHERE C.EndTime IS NOT NULL 
         ORDER BY C.EndTime DESC) "; 
//$result = $GLOBALS['conn']->query($sql); 
while($row = mssql_fetch_assoc($sql)){ 

    $row = array(
     // data from theme 
     //'id'  => $row['id'], 
     'CrawlSiteID'  => $row['CrawlSiteID'], 
     'CrawlHistoryID' => $row['CrawlHistoryID'], 
     'CountAtStart' => $row['CountAtStart'], 
     'CountAtEnd' => $row['CountAtEnd'], 
     'RecodsFound' => $row['RecodsFound'], 
     'CrawlSite' => $row['CrawlSite'], 
     'Standered' => $row['Standered'], 
     'Tolerance' => $row['Tolerance'], 
    ); 
    $data[] = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $row); 
} 
echo json_encode($data); 

}

+1

方法*あなたがそれをしようと問題は何でしたの*?あなたのコードはどこですか? SQL Server 2016はJSONをサポートする唯一のバージョンです。以前のバージョンはJsonをサポートしていませんでした。例えば、Json.NETを使用して、クライアント側で文字列を生成する必要があります。どちらをお求めですか?クエリがまったく役に立たない –

+0

大きなクエリを投稿することで、より効果的です。 *あなたはSQL Server 2016を使用していますか?なぜJQueryキーワードがないのですか?そうでない場合は、Jsonを生成するために使用したコードを投稿してください。 –

答えて

2

希望、これはあなたを助ける

SELECT name, surname FROM emp FOR JSON AUTO 

結果:

[{ 
    "name": "shubham" 
}, { 
    "name": "shubham", 
    "surname": "xaio" 
}] 
+0

まず、SQL Server 2016でのみ動作します。次に、OPがクエリを変更しました。かなり複雑ですが、JSonを生成しようとする試みはありません –

+0

こんにちは、ありがとうございます。 しかし、もし私の応答がjsonで変換されているかどうかをチェックする必要があるかどうか。そして、どうやってこれをチェックするのですか? –

+0

http://stackoverflow.com/questions/9804777/how-to-test-if-a-string-is-json-or-ここをクリックして、これについて準備することはできません。 –

関連する問題