簡體   English   中英

如何使用PHP顯示postgresql搜索結果

[英]How to display postgresql search results using PHP

問題

您好,我正在創建一個搜索功能,允許用戶搜索特定的電子號碼,看看它是否來自動物,基本上看它是否是素食主義者。 我已經成功地在我的網站上使用PHP連接到數據庫。

編碼

在頁面頂部:

<?php       
// Connecting, selecting database
$dbconn = pg_connect("host=***** port=*****
dbname=**** user=**** password=*****")
or die('Could not connect: ' . pg_last_error());

//collect
if(isset($_POST['search'])) {
    $searchq = $_POST['search'];

// Performing SQL query
$query = 'SELECT vegan FROM enumbers WHERE code = searchq';
}


?>

搜索欄:

<div id="tablebox">
        <!-- Search bar -->
        <p>Is It Vegan?</p>
        <form name="form1" method="post" action="searchEnumbers.php">
            <input name="search" type="text" size="30" maxlength="5" />
            <input name="submit" type="submit" value="Search" />
        </form>
</div>

我現在如何顯示已搜索的“純素”結果? 我不確定如何打印結果。

更新

enumbers表中的列名是:'code','name','type'和'vegan'。

<?php       
    // Connecting, selecting database
    $dbconn = pg_connect("host=db.dcs.aber.ac.uk port=5432
    dbname=cs399030_16_17 user=sec17 password=Liverpool2112")
    or die('Could not connect: ' . pg_last_error());

    //collect
    if(isset($_POST['search'])) {
        $searchq = $_POST['search'];

        // Performing SQL query
        $pg_query = 'SELECT vegan FROM enumbers WHERE code = '.$searchq;
        $result = pg_query($query);

        foreach($result as $r){ //If you have multiple records or $result
          echo "<p> Your ".$r->params." or ".$r['params']." here </p>"; //for instance
       }
    }

?>

你應該有類似的東西:

<?php       
// Connecting, selecting database
$dbconn = pg_connect("host=**** port=****
dbname=**** user=**** password=****")
or die('Could not connect: ' . pg_last_error());

//collect
if(isset($_POST['search'])) {
    $searchq = $_POST['search'];

   // Performing SQL query
   $query = 'SELECT vegan FROM enumbers WHERE code = '.$searchq; 

   // make the query with: pg_query
   // $result = pg_query($query);

   foreach($result as $r){ //If you have multiple records or $result
      echo "<p> Your ".$r->params." or ".$r['params']." here </p>"; //for instance
   }

   //you could use: var_dump(pg_fetch_all($result));
}

?>

<!-- If you want to show always the form. If not, put inside the else -->
<div id="tablebox">
        <!-- Search bar -->
        <p>Is It Vegan?</p>
        <form name="form1" method="post" action="searchEnumbers.php">
            <input name="search" type="text" size="30" maxlength="5" />
            <input name="submit" type="submit" value="Search" />
        </form>
</div>

請注意,這not the best方法(您可以使用AJAX,以及不同的頁面,以便現在刷新頁面),或其他方式。 但這可以按照你想要的方式工作。

查看PHP的官方文檔: http//php.net/manual/kr/function.pg-connect.php

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM