[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[orca-tech:01872] PHPによる新
- To: orca-tech@xxxxxxxxxxxxxx
- Subject: [orca-tech:01872] PHPによる新
- From: koji yuen <koji.yuen@xxxxxxxxx>
- Date: Sun, 6 May 2012 22:21:39 +0900 (JST)
- Priority: normal
お騒がせいたしましたが、何とか実用的なPHPプログラムができました。
アドバイスいただいた方に感謝します。
下記にプログラム掲載しますので、ご意見やご批評あればよろしくお願いします。
入力フォーム
-----------------patientinfoget.html-----------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>患者基本情報の取得</title>
</head>
<body>
<form action="patientinfoget.php" method="post">
患者ID:<br />
<input type="text" name="patid" size="10" value="" /><br />
<br />
<input type="submit" value="検索する" />
</form>
</body>
</html>
---------------------------------------------------------------------
患者情報表示プログラム
------------patientinfoget.php---------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>患者基本情報</title>
</head>
<body>
<?php
#患者IDを入力フォームより取得
$patid=$_POST["patid"] ;
#orcaのユーザー、パスワード、ホスト情報
$user = "ormaster";
$password = "orca1234";
$host="localhost";
#GETリクエストするURL
$url = "http://" . $user . ":" . $password . "@" . $host . ":8000/api01r/patie
ntget?id=" . $patid;
#echo $url . "<br />";
$tmpfile="tmp.xml";
#Curl関数でAPIからXMLファイルを取得
$ch = curl_init($url);
$fp = fopen($tmpfile, "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
#Simplexml関数でXMLファイルを解析
$xml = simplexml_load_file($tmpfile);
#社会保険のレコード枠を数える
foreach($xml->record->record->record->array as $data)
{
#echo $data->attributes() . ": " . $data->count() . "<br />";
}
$HI=$data->count();
#公費のレコード枠を数える
foreach($xml->record->record->record->array[0]->record->array as $data)
{
#echo $data->attributes() . ": " . $data->count() . "<br />";
}
$PI=$data->count();
#患者基本情報の取得
foreach($xml->record->record->record->string as $data)
{
echo $data->attributes() . ": " . $data . "<br />";
}
foreach($xml->record->record->record->record->string as $data)
{
echo $data->attributes() . ": " . $data . "<br />";
}
#保険情報の取得
$a=0;
while($a < $HI+1) {
echo "<br />";
#社会保険情報を取得
foreach($xml->record->record->record->array->record[$a]->string as $data)
{
#要素が空白のときは出力しない
if ($data != ""){
echo $data->attributes() . ": " .$data."<br />";
}
}
$b=0;
while($b < $PI+1) {
#公費情報を取得
foreach($xml->record->record->record->array->record[$a]->array->record[$b]->
string as $data)
{
#要素が空白のときは出力しない
if ($data != ""){
echo $data->attributes() . ": " .$data."<br />";
}
}
$b++;
}
$a++;
}
?>
</body>
</html>
--------------------------------------------------------
*****************************************
* ゆうえん医院 *
* めまい・難聴クリニック *
* 〒700-0913 *
* 岡山市北区大供3-1-18 *
* KSB会館3階 *
* TEL 086-803-2567 FAX 086-803-2553 *
* http://www.memai.info *
*****************************************