RE: [PHP-WIN] Re: PHP Search DB Table
| From: | Oliver Kennedy | Date: | Tue, 14 Dec 2010 14:36:26 +0000 |
| Subject: | RE: [PHP-WIN] Re: PHP Search DB Table | ||
| References: | 1 2 3 4 5 | Groups: | php.db php.windows |
| Request: | Send a blank email to php-db+get-47532@lists.php.net to get a copy of this message | ||
Okay, thank you all again for your input, I have tried a number of suggestions to work out what is
happening. Just to reiterate here is the search form which is on a different page.
<form action='datasearch.php' method='POST'>
<div id ="options">
<p><label>Search by Client ID<br /><input type="text"
name="searchx" /></label></p>
<p><input type="submit" value="Search" /></p>
</div>
shown below is the datasearch.php page
<?php
$term = $_REQUEST['searchx'];
mysql_connect("localhost", "root", "christmas") or die
(mysql_error());
mysql_select_db("moneyl") or die(mysql_error());
$query = "SELECT * FROM clients WHERE clientid = '%".$term."%'";
echo $query . '<br />';
echo $term . '<br />';
$result = mysql_query($query);
echo"<table border='1'>";
echo "<tr><th>Client ID</th> <th>Feeearner</th> <th>First
Name</th>
<th>Middle Name</th>
<th>Last Name</th>
<th>House/Flat Number</th>
<th>Address</th>
<th>Postcode</th>
<th>Gender</th>
<th>Date of Birth</th>
<th>Landline</th>";
while($row = mysql_fetch_array( $result ))
{
echo "<tr><td>";
echo$row['clientid'];
echo"</td><td>";
echo$row['feeearner'];
echo"</td><td>";
echo$row['firstname'];
echo"</td><td>";
echo$row['middlename'];
echo"</td><td>";
echo$row['lastname'];
echo"</td><td>";
echo$row['hfnumber'];
echo"</td><td>";
echo$row['address'];
echo"</td><td>";
echo$row['postcode'];
echo"</td><td>";
echo$row['gender'];
echo"</td><td>";
echo$row['dob'];
echo"</td><td>";
echo$row['landline'];
echo"</td></tr>";
}
echo"</table>";
?>
The printout of the query reveals this
SELECT * FROM clients WHERE clientid = '%%'
the echo of the value $term just showed a blank line.
Essentially the numbers entered into the search box which I am retrieving using
$term = $_REQUEST['searchx'];
are not being pulled through, am I using the correct funtion? I tried GET and POST just to see what
would happen an no joy.
So why does the above just display a blank value even when there are numbers in the search box? I am
very much a novice at this so it is not impossible that I am making a very very basic mistake here
but from the tutorials I have seen this should work.
Many thanks for your help, this is the first time I have used this method to obtain help and I have
been very impressed with both the speed and quality of the repsonse.
Kind Regards
Oliver
> From: aristotlekhan@hotmail.co.uk
> To: harlequin2@gmx.de; php-windows@lists.php.net; php-db@lists.php.net; robleyd@aapt.net.au
> Date: Tue, 14 Dec 2010 12:55:31 +0000
> Subject: RE: [PHP-WIN] Re: PHP Search DB Table
>
>
> David, Sascha thank you both for your help. Using the query
>
> $query = "SELECT * FROM clients WHERE clientid = '$term'";
> echo $query . '<br />';
> $result = mysql_query($query);
>
> as suggested printed out the below
>
> SELECT * FROM clients WHERE clientid = ''
>
> This seems to indicate that it is not seeing the value within the single quotes. However a
> slight caveats to that
> If I change what is contained within the quotes to a specific number then it does read it, for
> example
>
> SELECT * FROM clients WHERE clientid = '123456';
>
> So it is only when I enclose a value that it doesn't compute, I tried putting the $term
> within %% like so
>
> $query = "SELECT * FROM clients WHERE clientid = '%".$term"%'";
>
> however this just returns we page not found, possibly because I need to use the LIKE parameter
> in there somewhere?
>
> Many thanks for all your help on this
>
> Kind Regards
>
> Oliver
>
>
>
>