ITPUB??ì3
ITPUB论坛 » WEB程序开发 » PHP调用Oracle存储过程的问题!PHP高手进


标题: [原创] PHP调用Oracle存储过程的问题!PHP高手进
离线 pds911
初级会员



精华贴数 0
个人空间 0
技术积分 112 (14996)
社区积分 1 (34724)
注册日期 2004-5-21
论坛徽章:0
      
      

发表于 2008-2-18 16:33 
PHP调用Oracle存储过程的问题!PHP高手进

我的环境是RHEL AS 3+Oracle9204,之后装了Apache2+PHP5.2.5.

目前遇到的问题是写了个index.php,
不知如何能办到在执行了选中复选框的存储过程后,将proc执行结束时间、存储过程返回信息回显在index.php的页面中
(最好是执行完一个显示一个procedure的执行情况)

//index.php内容如下:
<html>
<head>
<meta http-equiv="Content-Type" c>
<title>PHP程序客户访问</title>
</head>
<body bgcolor="d0d0d0">
<form action="getchk.php" method="post">
<table border="1">
<?php
$conn = oci_connect('bb_dba','bb_dba','pdsbb');
if (!$conn) {
  $err = oci_error();
  echo "$err";
  exit;
}
else {
  $stmt = oci_parse($conn,"select * from tablename where class='A'");
  oci_execute($stmt,OCI_DEFAULT);
  echo '<tr><td>存储过程名称</td><td>Description</td>';
  echo '<td>执行开始时间</td>';
  echo '<td>执行结束时间</td>';
  echo '<td>数据库返回信息</td></tr>';
  while (oci_fetch($stmt)) {
    $proc_name=oci_result($stmt,"PROC_NAME");
    $rpt_name=oci_result($stmt,"RPT_NAME");
    echo '<tr><td><input type="checkbox" name="chk[]" value='.$proc_name.'>';
    echo $proc_name.'</td>'.'<td>'.$rpt_name.'</td>';
    echo '<td>2008-01-01 00:00:00</td><td>2008-01-01 00:00:00</td>';
    echo '<td>null</td></tr>';
  }
}
oci_close($conn);
?>
</table>
<input type="submit" value="提交">
</form>
</body>
</html>


只看该作者    顶部
离线 pds911
初级会员



精华贴数 0
个人空间 0
技术积分 112 (14996)
社区积分 1 (34724)
注册日期 2004-5-21
论坛徽章:0
      
      

发表于 2008-2-21 14:02 
现在终于晓得了两种方法,一种是采用Ajax,一种采用iframe

现在我已经可以用Ajax做到局部刷新一个存储过程的返回结果,但是循环执行页面中被checkbox的存储过程并逐个刷新怎么解决啊?
高手们快来告我一声啊!

<script type="text/javascript" language="javascript">
// Need to make an object of XMLHttpRequest Type.
function createRequestObject() {
    var ro;
    if (navigator.appName == "Microsoft Internet Explorer") {
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        ro = new XMLHttpRequest();
    }
    return ro;
}
var http = createRequestObject();
// Function that calls the PHP script:
function sendRequest(pname) {
// Call the script.
// Use the GET method.
// Pass the email address in the URL.
    http.open('get','handle.php?proc='+pname,false);
    http.onreadystatechange = handleResponse;
    http.send(null);
}
// Function handles the response from the PHP script.
function handleResponse() {
// If everything's okay:
    if(http.readyState == 4){
     // Assign the returned value to the document object.
        document.getElementById('info').innerHTML = http.responseText;
    }
}
</script>


只看该作者    顶部
在线/呼叫 VagrantLee
监督员


来自 广东省东莞市
精华贴数 0
个人空间 0
技术积分 7758 (161)
社区积分 6727 (217)
注册日期 2002-11-18
论坛徽章:73
生肖徽章2007版:牛生肖徽章2007版:牛生肖徽章2007版:牛生肖徽章2007版:牛生肖徽章2007版:牛生肖徽章2007版:牛
生肖徽章2007版:牛生肖徽章2007版:牛生肖徽章2007版:牛生肖徽章2007版:牛生肖徽章2007版:牛生肖徽章2007版:牛

发表于 2008-2-22 17:23 
聽課


__________________
很高兴认识从事SAP的朋友....让我们一起学习,共同进步....QQ:1876283(请注明)
欢迎访问我的博客:SAP学习&休闲中心欢迎你
只看该作者    顶部
离线 pds911
初级会员



精华贴数 0
个人空间 0
技术积分 112 (14996)
社区积分 1 (34724)
注册日期 2004-5-21
论坛徽章:0
      
      

发表于 2008-2-26 16:36 
问题自己给解决了!看来itpub上的PHP+Oracle高手不多

//index.php
    req.open('post','bb.php?proc='+pname,false);

//bb.php
    用$proc_name=str_replace('proc=','',$_SERVER[QUERY_STRING]); --pname

唉,看来要在黑暗中摸索了……


只看该作者    顶部
离线 birdbirdzhou
桃花依旧笑春风


来自 回忆
精华贴数 0
个人空间 0
技术积分 482 (3974)
社区积分 910 (979)
注册日期 2005-12-29
论坛徽章:18
2008年新春纪念徽章     
      

发表于 2008-2-29 13:21 
学习。
没有用过php.


只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问