2012-03-02 6 views
2

私はASPページでSQLクエリを実行しており、100行と7列のデータを取得しています。古典的なASPからPHPページのテーブルに配列を送信するには?

例えば、私は私がこれだ、私のURLのクエリ文字列または私はPOST/GETとして送信されたフォームから

をお読みください、私は私の値として「2012から03」を使用して、「myexample.com/order.php?month=2012-03を」 ASPページを使用してクエリを実行するSELECT * FROM CustomerSalesOrder WHERE date LIKE '2012-03%'

上記のとおり、私は顧客のデータを7列で100行取得し、3月に何を購入しました。

これらのデータを配列に変換し、PHPページに渡してテーブルにデータを表示するテーブルを生成するにはどうすればよいですか?

(私は1つのWebプログラミング言語ですべてを実行できることを理解していますが、ASPページでクエリを実行するステップは修正されているため変更できません。 PHPページは

は私にガイドしてください)mywork.comに位置しながら、myexample.comに位置して、ステップバイステップの:

  • 、ASPページ内の配列に自分のデータをダンプし、
  • 私の渡す方法

私はASPの配列に変換するデータと、PHPページに渡す配列のデータを熟練してくれると期待しています。

PHPページでは、配列内のすべてのデータをどのように展開するか、変数の値にデータを割り当てる方法を教えてください。 (私はループを使用する必要があると思う、すべてのループメソッドはこの場合最高ですか?)ループまたは別の方法で値を取得したら、再度テーブルにループします。

答えて

2

あなたのaspページがSQLデータの「配列」をXMLとして出力し、PHPページが単にXML(CURLを使用)を読み込み、XMLをPHP配列に解析することをお勧めしますか?次のように

''#### Build SQL Query to grab data as XML (you may want to put this in a stored procedure 
dim SqlStr 
SqlStr = "SELECT CONVERT(VARCHAR(MAX), (SELECT [ColA] AS 'A', [ColB] AS 'B', [ColC] AS 'C', [ColD] AS 'D', [ColE] AS 'E', [ColF] AS 'F', [ColG] AS 'G'" & _ 
     "     FROM CustomerSalesOrder " & _ 
     "     WHERE [Date] LIKE '2012-03%' " & _ 
     "    FOR " & _ 
     "     XML PATH('R') , " & _ 
     "      ROOT('ROOT') " & _ 
     "    )) as XML" 

set rs = db.execute(SqlStr) 

do while not rs.eof 
    XmlStr = rs("XML") 
    rs.movenext 
loop 

''#### XML Headers 
Response.CacheControl = "no-cache" 
Response.AddHeader "Pragma", "no-cache" 
Response.Expires = -1 
Response.ContentType = "text/xml" 
Response.Write "<?xml version='1.0' encoding='utf-8'?>" 
Response.Write XmlStr 

PHPのページがこれを読むことができる:

$URL = "URL to the ASP page"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $URL); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"); 
$output = trim(curl_exec($ch)); 
$xml = simplexml_load_string($output); 

//#### Prep Array 
var $TargetArray[]; 
$ArrayPointer = 0; 

//#### Parse XML 
foreach($xml->children() as $child) { 
    $ColA = trim($child->A); 
    $ColB = trim($child->B); 
    $ColC = trim($child->C); 
    $ColD = trim($child->D); 
    $ColE = trim($child->E); 
    $ColF = trim($child->F); 
    $ColG = trim($child->G); 

    //#### Push values into your array (This may be buggy, my php & multi dimensional arrays is a tad rusty) 
    $row = array('ColA' => $ColA, 'ColB' => $ColB, 'ColC' => $ColC, 'ColD' => $ColD, 'ColE' => $ColE, 'ColF' => $ColF, 'ColG' => $ColG); 
    $TargetArray[$ArrayPointer] = $data; 
    $ArrayPointer++; 
} 

また、あなただけのHTMLテーブルにCURLのXMLを噴出したい場合、あなたはXMLとして

出力中SQLデータ

//#### Parse XML from CURL into HTML Table 
echo "<table>"; 
echo "<tr>"; 
echo " <th>ColA</th>"; 
echo " <th>ColB</th>"; 
echo " <th>ColC</th>"; 
echo " <th>ColD</th>"; 
echo " <th>ColE</th>"; 
echo " <th>ColF</th>"; 
echo " <th>ColG</th>"; 
echo "</tr>"; 
foreach($xml->children() as $child) { 
    echo "<tr>"; 
    echo " <th>" . trim($child->A) . "</th>"; 
    echo " <th>" . trim($child->B) . "</th>"; 
    echo " <th>" . trim($child->C) . "</th>"; 
    echo " <th>" . trim($child->D) . "</th>"; 
    echo " <th>" . trim($child->E) . "</th>"; 
    echo " <th>" . trim($child->F) . "</th>"; 
    echo " <th>" . trim($child->G) . "</th>"; 
    echo "</tr>"; 
} 
echo "</table>"; 

これはいくつかの調整が必要になると確信していますが、それはenoである必要がありますうん、あなたは両方のPHP & ASP側で行くようになる。

+0

ASPコードの場合は、「Response.Codepage」が65001であることを確認する必要があります。 – AnthonyWJones

1

あなたはそのようにこれを行うことができます:

ASPページではjsonパラメータを使用して、JSON(だけJSONコード、HTMLは使えない)として、クエリからのデータを表示する存在である場合は、条件を追加することができます。 ASPページからPHPページの表示データに

$aspData = json_decode(file_get_contents('http://myexample.com/order.php?month=2012-03&json=1'), true); 
echo "<table>"; 
foreach($aspData as $row){ 
    echo "<tr>"; 
    foreach($row as $colName => $colVal){ 
    echo "<td>$colVal</td>"; 
    } 
    echo "</tr>"; 
} 
echo "</table>"; 

私はASPを知らないが、JSON文字列に配列を変換する機能があるはずです。

関連する問題