用php和oracle在其他表的基础上更新表

时间:2015-09-03 07:15:55

标签: php database oracle

我希望在门牌号码的基础上逐一搜索其他表格后更新具有独特结果的表格。 例: 我有一个名为“投诉点”的表,其中有两列“House No”和“Status” 其他名为“投诉表”的表也有两列“House No”和“Status”但是有多个相同的House No. 我想比较表“投诉表”中的每个门牌号和状态,如果任何状态存在“打开”,那么它更新第二个表“投诉点”列状态也是“打开”,如果所有状态都显示“在表中关闭”投诉表“然后我更新第一个表”投诉点“列状态”CLOSED“。

我希望使用php和oracle。

我这样做:

if (isset($_POST['btnSubmit']) == "Save")
{

    $STATUS = $_POST['COMPLAINT_STATUS'];
    $HOUSE_NO = $_POST['COMPLAINT_HOUSE_NO'];
$query ="SELECT STATUS FROM complainttable WHERE HOUSE_NO = '" . $_POST["COMPLAINT_HOUSE_NO"] . "' AND STATUS = 'CLOSED' ";
    $results = ociparse($conn, $query);
    ociexecute($results);
    while($row=oci_fetch_assoc($results)) {

    echo '<option>' . $row['STATUS'] . '</option>';

    if (isset($_POST['STATUS']) == "CLOSED")
    {
    $update = "UPDATE complaintpoint SET STATUS= 'CLOSED' where HOUSE_NO ='" . $_POST["HOUSE_NO"] . "' ";

    $send = oci_parse($conn, $update);
    oci_bind_by_name($send, ':STATUS', $STATUS);
    oci_execute($send);
    }

    else
    {
        echo '<option value="">Complaint is Still Open</option>';   
    }
    }
}

1 个答案:

答案 0 :(得分:0)

以下代码将更新

如果投诉表中的任何住宅号 打开,则中的设置状态=打开 >投诉点

     $query   =  "SELECT * FROM complainttable WHERE STATUS = 'OPEN' ";
     $results = ociparse($conn, $query);
     ociexecute($results);
        while($row=oci_fetch_assoc($results)) 
        {

                $update = "UPDATE complaintpoint SET STATUS= 'OPEN' where HOUSE_NO ='" . $row["HOUSE_NO"] . "' ";
                $send = oci_parse($conn, $update);
                oci_bind_by_name($send, ':STATUS', $STATUS);
                oci_execute($send);
        }