php-asp-MSSQL
<?phpclass php_asp_db{
var $Fields = array();
var $Records = array();
var $Recnum;
var $Fieldcount;
function php_asp_db(){}
function Query($sql){
//取交警服务器IP
$fp = fopen("/www/webroot/TrafficIP.txt", "r");
if (flock($fp, LOCK_SH)) {
$IP = fgets($fp, 20);
$IP = substr($IP,0,strlen($IP)-1);//去除最后一个回车
flock($fp, LOCK_UN);
}
else {//取IP失败
echo "连接服务器失败,请稍后重试";
exit;
}
fclose($fp);
//$sql = str_replace(" ","%20",$sql);
$sql = urlencode($sql);
$handle = fopen ("http://$IP/test.asp?var=$sql", "r");
if ($handle) {
while (!feof($handle)) {
$preTEXT = fgets($handle, 9999);
$TEXT .= $preTEXT;
}
fclose($handle);
}
else{
echo "连接服务器失败,请稍后重试";
exit;
}
//echo $TEXT;
$this->php_xml($TEXT);
}
function php_xml($str){
$m = strpos($str,"<State>");
$n = strpos($str,"</State>");
if($m==0 || $n==0){//发生异常,没有成功
return -1;
}
$m += strlen("<State>");
$State = substr($str,$m,$n-$m);
//取数据格式版本号
$m = strpos($str,"<Version>");
$n = strpos($str,"</Version>");
$m += strlen("<Version>");
$Version = substr($str,$m,$n-$m);
if ($Version > "1.0.0"){
echo "Warning!It maybe can't resolve correctly.";
}
//取数据记录数量
$m = strpos($str,"<Recnum>");
$n = strpos($str,"</Recnum>");
$m += strlen("<Recnum>");
$this->Recnum = substr($str,$m,$n-$m);
//取数据字段数量
$m = strpos($str,"<Fieldcount>");
$n = strpos($str,"</Fieldcount>");
$m += strlen("<Fieldcount>");
$this->Fieldcount = substr($str,$m,$n-$m);
//取字段名称
for($i=0;$i<$this->Fieldcount;$i++){
//echo $n."-";
$m = strpos($str,"<Field>",$n);
$n = strpos($str,"</Field>",$m);
$m += strlen("<Field>");
$this->Fields[$i] = substr($str,$m,$n-$m);
//echo $m.",".$n."<br>";
//echo $this->Fields[$i]."<p>";
}
//取数据
$n = strpos($str,"<Table>",$n);
for($i=0;$i<$this->Recnum;$i++){
$m = strpos($str,"<Record>",$n);
$n = strpos($str,"</Record>",$m);
$m += strlen("<Record>");
$Record = substr($str,$m,$n-$m);
//echo
for($j=0;$j<$this->Fieldcount;$j++){
$x = strpos($Record,"<".$this->Fields[$j].">");
$y = strpos($Record,"</".$this->Fields[$j].">");
$x += strlen("<".$this->Fields[$j].">");
$this->Records[$i][$j] = substr($Record,$x,$y-$x);
$this->Records[$i][$this->Fields[$j]] = substr($Record,$x,$y-$x);
//echo $m.",".$n."<br>";
//echo $this->Records[$i][$j]."<br>";
}
}
}//end function
}
//example
/*
$mssql = new php_asp_db();
//$mssql->Query("select * from v_reg where is_over=1 and reg_id>100000");
//if (!$sql) $sql = "select v_reg.*,VIOLATION_CODE.display from v_reg,VIOLATION_CODE where is_over=1 and reg_id>100000 and STATE_ID='U' and v_reg.v_action=VIOLATION_CODE.code";
if (!$sql) $sql = "select * from TallyRecord where CardNo='370213801123361'";
$mssql->Query($sql);
echo "<table border='1'><tr>";
for($j=0;$j<count($mssql->Fields);$j++){
echo "<th>".$mssql->Fields[$j]."</th>";
}
echo "</tr>";
for($i=0;$i<count($mssql->Records);$i++){
echo "<tr>";
for($j=0;$j<count($mssql->Fields);$j++){
echo "<td>".$mssql->Records[$i][$j]."</td>";
}
echo "</tr>/n";
}
echo "</table>";
*/
?>
页:
[1]