Thread: Search an addresbook

Search an addresbook

From
"Cyprian Makhafola [ MTN - Innovation Centre ]"
Date:
Hi All
 
I am a newby in the php and postgres. I have a the following script that suppose to search ana ddrssbook but the scripts does not return anything even an error. I got this scripts from the internet but in the mysql form so i changed it to postgres.
 
The field s for my table is customer_id, name. address, msisdn, telephone and msisdn. I use want to use name or msisdn to search.
<?php
$dbname     =" phonebook";
$host       = "localhost";
$port       = "5432";
$user      = "postgres";
 
if (!IsSet($start) ) :
   $start = 0;
endif;
?>
 
<?
#if ($searchstring)
if(isset($searchstring) && strcmp("Search",$searchstring) == 0)
{
        $query = "SELECT * FROM clientdata WHERE $searchtype LIKE '%$searchstrin
g%' ORDER BY name ASC";
        $connection = pg_connect("host=$host port=$port dbname=$dbname user=$use
r");
        $pg_select_db("$dbname",$query);
        $Customer_id =  pg_escape_string($_POST['customer_id']);
 
        $Name = pg_escape_string($_POST['name']);
        $Msisdn = pg_escape_string($_POST['msisdn']);
        $result = pg_query($query);
       $ resultsnumber = pg_numrows($result);
 
        echo" <TABLE BORDER=0>";
        echo "number of results: $resultsnumber";
 
        $alternate = "2";
                while ($myrow = pg_fetch_array($result))
                {
                   $Name = $myrow["name"];
                   $customer_id = $myrow["id"];
                   $msisdn = $myrow["msisdn"];
                   if ($alternate == "1")
                   {
                     $color = "#ffffff";
                     $alternate = "2";
                   }
                   else
                   {
                      $color = "#efefef";
                      $alternate = "1";
                   }
        echo "<TR bgcolor=$color><TD>$name, $msisdn</TD>";
        echo "Could not find records";
                }
}
?>
I can add and delete but i cannot search, please assist.


NOTE: This e-mail message is subject to the MTN Group disclaimer see http://www.mtn.co.za/default.aspx?pid=34411

Re: Search an addresbook

From
Date:
The PHP gurus have really simplified this issue for us.  Both the pg_query() and pg_fetch_array() methods return a
falseif an error occurs.  Likewise, pg_fetch_array() returns a false when it has reached the end of the recordset.  The
followingworks very well: 

if ($result = pg_query($query) and $row = pg_fetch_array($result)) {
    do {
               // process query results

    } while ($row = pg_fetch_array($result));
} else {
     // output if error
}

Best wishes
Mark

On Mon, 2006-10-09 at 15:01 +0200, Cyprian Makhafola [ MTN - Innovation Centre ] wrote:
Hi All   I am a newby in the php and postgres. I have a the following script that suppose to search ana ddrssbook but
thescripts does not return anything even an error. I got this scripts from the internet but in the mysql form so i
changedit to postgres.   The field s for my table is customer_id, name. address, msisdn, telephone and msisdn. I use
wantto use name or msisdn to search. <?php 
> $dbname     =" phonebook";
> $host       = "localhost";
> $port       = "5432";
> $user      = "postgres";   if (!IsSet($start) ) :
>    $start = 0;
> endif;
> ?>   <?
> #if ($searchstring)
> if(isset($searchstring) && strcmp("Search",$searchstring) == 0)
> {
>         $query = "SELECT * FROM clientdata WHERE $searchtype LIKE '%$searchstrin
> g%' ORDER BY name ASC";
>         $connection = pg_connect("host=$host port=$port dbname=$dbname user=$use
> r");
>         $pg_select_db("$dbname",$query);
>         $Customer_id =  pg_escape_string($_POST['customer_id']);           $Name = pg_escape_string($_POST['name']);
>         $Msisdn = pg_escape_string($_POST['msisdn']);
>         $result = pg_query($query);
>        $ resultsnumber = pg_numrows($result);           echo" <TABLE BORDER=0>";
>         echo "number of results: $resultsnumber";           $alternate = "2";
>                 while ($myrow = pg_fetch_array($result))
>                 {
>                    $Name = $myrow["name"];
>                    $customer_id = $myrow["id"];
>                    $msisdn = $myrow["msisdn"];
>                    if ($alternate == "1")
>                    {
>                      $color = "#ffffff";
>                      $alternate = "2";
>                    }
>                    else
>                    {
>                       $color = "#efefef";
>                       $alternate = "1";
>                    }
>         echo "<TR bgcolor=$color><TD>$name, $msisdn</TD>";
>         echo "Could not find records";
>                 }
> }
> ?>
>
> I can add and delete but i cannot search, please assist.
>
> NOTE: This e-mail message is subject to the MTN Group disclaimer see http://www.mtn.co.za/default.aspx?pid=34411