hi!

I added oracle spatial  attribute search to my pmapper application.
If someone is interested here  is  what I did:

I added the following lines to the file incphp/query/query.php :

Between the if blocks near
// QUERY ON POSTGIS LAYER
and near
// QUERY ON SHAPEFILE (ETC.) LAYER

Code:

       } // end QUERY ON POSTGIS LAYER

        // QUERY ON ORACLE SPATIAL (added by Andreas Fachathaler)
        else if ($this->qLayerType == 8) {
                   
                foreach ($getvars as $var => $val0) {
                if ($var != "PHPSESSID" && $var != "qlayer" && $var != 
"dbtable" && $var != "findlist" ) {
                    $fldName = preg_replace("/\#|\*/ie", "", $var);    
                           
                   
                    $val = 
$this->q_strDecode($_GET["$var"]);                   
                    $sepVals = explode(' ',$val);                   
                   
                    reset($sepVals);                   
                    While(($val = current($sepVals)) !== false) {
                       
                        $varValStr = returnVar($var, $val, "db");
                        $nextValue = next($sepVals);
                   
                        // echo $varValStr . "\n";
                   
                        if (strlen(trim($val)) > 0) {
                             $qStr .= $varValStr;
                             //$qStr .= $varValStr ;
                             if ($nextValue) {
                                $qStr .= " AND ";
                             }
                        }
                       
                    }
                }
            }                   
           
            //echo ("$fldName ---- $qStr");                       
            @$this->qLayer->queryByAttributes($fldName, $qStr, 
MS_MULTIPLE);           
        }
       
        // QUERY ON SHAPEFILE (ETC.) LAYER

Reply via email to