PHP+MySQLでXMLを作成し、それをいくつか連結したものを返す方
PHP+MySQLでXMLを作成し、それをいくつか連結したものを返す方法を教えてください。
HTML
↓(1)httpリクエスト,パラメータ
(2)main.php(XML化メイン処理) XMLデータ送信→ HTML
↑ ↑ ↑
↓ ↓ ↓
(3)xml_1.php xml_2.php xml_3.php(XML生成子処理)
↑ ↑ ↑
↓ ↓ ↓
DB
(2)main.phpでHTMLから受け取ったコマンドを元に生成するXMLの取得を振り分ける。(switch文)
(3)各phpでDBからデータを取得しXML形式にする。
(4)main.phpでそれぞれのXMLを連結し送信。
というのがやりたいことなんですけど、
・SQLからデータを取得し、XMLにする方法
・メイン処理でそれぞれを連結する方法
がわかりません。
main.php
<?php
function xml_main($cmd, &$xml ){
global $log4php,$con,$debugMode;
$result = false;
$dbErrMsg;
// DB Open
openDb();
dbErr();
// log4phpオブジェクト
//$log4php = new log4php('log4php_xml.properties');
// トランザクション開始
mysql_query('BEGIN');
$log4php->debug('トランザクション開始');
/*
try{
// 文字コード変換(ujis=EUC-JP)
// TIPS デフォルトの文字コードがEUCだった場合は以下の二行を削除してください。
$sql = "SET NAMES utf8";
$result = @mysql_query($sql);
}
*/
// XML Header生成
// コマンド毎の呼び出し
switch($cmd){
case 0:
xml_1.phpとxml_2.phpで生成したxmlを連結
break;
case 1:
xml_1.phpとxml_3.phpで生成したxmlを連結
break;
case 2:
xml_2.phpとxml_3.phpで生成したxmlを連結
break;
default:
break;
}
// XML基本情報タグ生成
// XML Footer生成
// DB Close
closeDB();
}
?>
xml_1.php
<?php
function xml_1($id,$member,$msg,&$xml){
//DBからデータを取得
//xmlを作成
}
?>
という感じでやろうとしてるんですが。
xml_1.php xml_2.phpで文字列をreturnしてmain.phpでSimpleXMLで連結させるというのも方法として書いてあったんですが、
具体的なやり方がわかりません。
環境はPHP5.1 MySQL5です。
お礼
やはりcronが一番理想的なんですね...笑 ありがとうございました、後々の事も考えて地道にcronで作業を行ってみます◎ お世話になりました。