2017-02-25 26 views
1

PostgreSQLデータベースPHPからデータを取得しようとしました。PHPを使用してpostgresqlからデータを取得し、htmlで表示する

データを取得するのは問題ありませんが、HTMLとリンクされていると正常に動作しません。私はHTMLインターフェイスにfindボタンをクリックすると

、それは本当にPostgrSQLからデータを取得しませんでした。

誰でも手伝いできますか?

PHP

$host  = "host=sv4gis"; 
$dbname  = "dbname=survey"; 
$credentials = "user=sde password=dfd54f"; 

$objectid = ""; 
$jobno = ""; 
$unit = ""; 
$coordinate = ""; 
$name = ""; 
$northing = ""; 
$easting = ""; 
$elev = ""; 

$db = pg_connect("$host $dbname $credentials" ); 
if(!$db){ 
    echo "Error : Unable to open database\n"; 
} else { 
    echo "Opened database successfully\n"; 
} 

function getPosts() { 
    $posts = array(); 
    $posts[0] = $_POST['objectid']; 
    $posts[1] = $_POST['jobno']; 
    $posts[2] = $_POST['unit']; 
    $posts[3] = $_POST['coordinate']; 
    $posts[4] = $_POST['name']; 
    $posts[5] = $_POST['northing']; 
    $posts[6] = $_POST['easting']; 
    $posts[7] = $_POST['elev']; 

    return $posts; 
} 

// Selection Operation 
if (isset($_POST['search'])) { 
    $data = getPosts(); 
    $sql = "SELECT * FROM monu_from_Lst WHERE OBJECTID = $data[0]"; 
    $ret = pg_query($db, $sql); 

    if($ret) { 
     if(pg_num_rows($ret)) { 
      while($row = pg_fetch_array($ret)) { 
       echo $objectid = $row['objectid']; 
       echo  $jobno = $row['jobno']; 
       echo $unit = $row['unit']; 
       echo  $coordinate = $row['coordinate']; 
       echo $name = $row['name']; 
       echo  $northing = $row['northing']; 
       echo $easting = $row['easting']; 
       echo  $elev = $row['elev']; 
      } 
      echo "Operation done successfully\n"; 
      // pg_close($db); 

     }else{ 
      echo 'No Data For This Id'; 
     } 
    } else { 
     echo 'Result Error'; 
    } 
} 

HTML

<form action="php_insert_update_delete_search.php" method="post"> 
    <input type="number" name="objectid" placeholder="OBJECTID" value="<?php echo $objectid;?>"> 
    <input type="text" name="jobno" placeholder="JOB#" value="<?php echo $jobno;?>"> 
    <input type="text" name="unit" placeholder="UNIT" value="<?php echo $unit;?>"> 
    <input type="text" name="coordinate" placeholder="COORDINATE" value="<?php echo $coordinate;?>"> 
    <input type="text" name="name" placeholder="NAME" value="<?php echo $name;?>"> 
    <input type="number" name="northing" placeholder="NORTHING" value="<?php echo $northing;?>"> 
    <input type="number" name="northing" placeholder="NORTHING" value="<?php echo $northing;?>"> 
    <input type="number" name="easting" placeholder="EASTING" value="<?php echo $easting;?>"> 
    <input type="number" name="elev" placeholder="ElEVATION" value="<?php echo $elev;?>"> 
    <div> 
     <input type="submit" name="search" value="Find"> 
    </div> 
</form> 

答えて

1

あなたのコードは大丈夫のようです。あなたが自分自身にファイルを投稿する場合は問題はあなたのクエリが正常に実行されていることを確認し

<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"> 

を使用してみてください

<form action="php_insert_update_delete_search.php" method="post"> 

である可能性があります。 $ SQLが=「monu_from_Lst WHERE名SELECT * FROM:あなたのクエリが

$sql = "SELECT * FROM \"monu_from_Lst\" WHERE objectid= $data[0]"; 

次首尾 試みを実行していない場合、私は、私は以下のように特定のクエリを使用する場合、それは働いた

<?php 

$host  = "host=localhost"; // use your hostname 
$dbname  = "dbname=blogsitedb"; // use your dbname 
$credentials = "user=postgres password=admin"; // use your credentials 

$objectid = ""; 
$jobno = ""; 
$unit = ""; 
$coordinate = ""; 
$name = ""; 
$northing = ""; 
$easting = ""; 
$elev = ""; 



$db = pg_connect("$host $dbname $credentials"); 

if(!$db) 
{ 
    echo "Error : Unable to open database\n"; 
} 
else 
{ 
    echo "Opened database successfully\n"; 
} 

function getPosts() 
{ 
    $posts = array(); 
    $posts[0] = $_POST['objectid']; 
    $posts[1] = $_POST['jobno']; 
    $posts[2] = $_POST['unit']; 
    /*  

    $posts[3] = $_POST['coordinate']; 
    $posts[4] = $_POST['name']; 
    $posts[5] = $_POST['northing']; 
    $posts[6] = $_POST['easting']; 
    $posts[7] = $_POST['elev']; 

    */ 

    return $posts; 
} 


// Selection Operation 
if(isset($_POST['search'])) 
{ 
    $data = getPosts(); 
    $sql = "SELECT * FROM \"monu_from_Lst\" WHERE objectid= $data[0]"; 

    $ret = pg_query($db, $sql); 

    if($ret) 
    { 
     if(pg_num_rows($ret)) 
     { 
      while($row = pg_fetch_array($ret)) 
      { 
      echo $objectid = $row['objectid']; 
      echo  $jobno = $row['jobno']; 
      echo $unit = $row['unit']; 
      /*echo  $coordinate = $row['coordinate']; 
      echo $name = $row['name']; 
      echo  $northing = $row['northing']; 
      echo $easting = $row['easting']; 
      echo  $elev = $row['elev'];*/ 
      } 
      echo "Operation done successfully\n"; 
      // pg_close($db); 

     } 
     else 
     { 
      echo 'No Data For This Id'; 
     } 
    } 
    else 
    { 
     echo 'Result Error'; 
    } 
} 

?> 

    <!DOCTYPE Html> 
    <html> 
     <head> 
      <title>PHP INSERT UPDATE DELETE SEARCH</title> 
     </head> 
     <body> 
      <form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"> 
       <input type="number" name="objectid" placeholder="OBJECTID" value="<?php echo $objectid;?>"><br><br> 
       <input type="text" name="jobno" placeholder="JOB#" value="<?php echo $jobno;?>"><br><br> 
       <input type="text" name="unit" placeholder="UNIT" value="<?php echo $unit;?>"><br><br> 
       <input type="text" name="coordinate" placeholder="COORDINATE" value="<?php echo $coordinate;?>"><br><br> 
       <input type="text" name="name" placeholder="NAME" value="<?php echo $name;?>"><br><br> 
       <input type="number" name="northing" placeholder="NORTHING" value="<?php echo $northing;?>"><br><br> 
       <input type="number" name="northing" placeholder="NORTHING" value="<?php echo $northing;?>"><br><br> 
       <input type="number" name="easting" placeholder="EASTING" value="<?php echo $easting;?>"><br><br> 
       <input type="number" name="elev" placeholder="ElEVATION" value="<?php echo $elev;?>"><br><br> 

       <div> 

        <!-- Input For Find Values With The given objectid --> 

        <input type="submit" name="search" value="Find"> 

       </div> 
      </form> 
     </body> 
    </html> 
+0

を、次のようなコードを働いています= 'GPS15' ''; しかし、私は$ sql = "SELECT * FROM \" monu_from_Lst \ "WHERE objectid = $ data [0]"を使用していました。 警告:pg_query():クエリが失敗しました:エラー:入力の最後に構文エラーが発生しました。LINE 1:SELECT * FROM "monu_from_Lst" WHERE objectid = ^オブジェクトが見つかりませんでした。 C:\ xampp \ htdocs \ test4.php(55行目)結果エラー – Sunnie

関連する問題