Jump to content


Photo

**DONE** Advanced Searching through database


  • Please log in to reply
1 reply to this topic

#1 legohead6

legohead6
  • Members
  • PipPipPip
  • Advanced Member
  • 434 posts

Posted 29 July 2006 - 12:04 AM

ok.. I have just set up an online marketplace website and right know browsing through items is fairly simple.. just paginates throught the results and gives likes to listing.php that then displays all the info/picture..... and recently i added a search but using 'LIKE' its simple easy and fast and it searches through title and description..... but know i want to make it work abit better.. here are the things i want to happen....

1. add catagagorys... view all in a catagory and search through catagorys individualy..( database set with catagorys.. id and catagory are the only rows....) **COMPLETE**
2. when i user clicks on an item and takes them to listing.php i want it be be able to go back to browse.php with the same search**COMPLETE**
3. configue the paginating to work for search results...i have an exit; there right now because what it does is the search results show on the first page then the second , third ,foruth ...etc show all the listings... how they would be if there wasnt a search...**COMPLTETE PAGINATION WORKS ON SEARCH RESULTS TOO WITH MINNAMULE CODE ADDED!!!****

heres the code for browse.php...its a mess but what the heck... if you need code for listing.php i can get to but its basicly just calling all the information from the database and displaying it....

Browse.php
<?PHP
session_start();
$user=$_SESSION['user'];
if(empty($user)){
$logged="You Are Not Signed In!";
$l="0";
}
else
{
$l=1;
$logged="Welcome $user";
}
echo "<div align=center><img border=0 src=images/Logo1.JPG width=305 height=194><br><p align=center>$logged</font><br><hr><br>";
echo "<a href=browse.php>Return to List of items</a><br><br>";
echo "<a href=index.php>Return Home</a>";
$username="**********";
$password="********";
$database="********";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
echo "<form method=POST>";

$display = 10;

$page = "SELECT COUNT(*) FROM listings ORDER BY id ASC";
$resultp = mysql_query($page);
$row = mysql_fetch_array($resultp, MYSQL_NUM);
$num_records = $row[0];

echo "<p align=center>There are $num_records Listings</p>";
if(isset($_GET['np'])){
$num_pages = $_GET['np'];
}else{
$page = "SELECT COUNT(*) FROM listings ORDER BY id ASC";
$resultp = mysql_query($page);
$row = mysql_fetch_array($resultp, MYSQL_NUM);
$num_records = $row[0];
if($num_records > $display){
$num_pages = ceil($num_records/$display);
}else{
$num_pages = 1;
}
}
if(isset($_GET['s'])){
$start=$_GET['s'];
}else{
$start=0;
}

if(isset($_POST['submit'])){
$search=$_POST['search'];
$query="SELECT * FROM listings WHERE title LIKE '%$search%' OR  description LIKE '%$search%'";
$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error());
$re= mysql_num_rows($result);
if($re > 0)
{
echo "<link rel=stylesheet type=text/css
href=store.css>
</head>
<body bgcolor=#0065FF>
<form method=POST>
	<p>Search:<input type=text name=search size=45>
	<input type=submit value=Search name=submit></p>";
echo "<p>$re Search results";
echo "<table border=1>";
while($row = mysql_fetch_row($result)){
$member1="SELECT * FROM members WHERE username='$row[5]'";
$resultm = mysql_query($member1) or die ("Error in query: $member. ".mysql_error());
while($mem = mysql_fetch_row($resultm)){
echo "<tr><td width=300><p align=center><a href=listing.php?id=$row[0]>$row[1]</a><br><font size=2>Location: $mem[10]</td><td width=100>Price: $$row[2]</p></td></tr>";
}
}
exit;
}else{
echo "<table border=1>";
echo "<link rel=stylesheet type=text/css
href=store.css>
<title>No Search Results Found</title>
</head>
<body bgcolor=#0065FF>
<form method=POST>
	<p>Search:<input type=text name=search size=45>
	<input type=submit value=Search name=submit></p>";
echo "<tr><td width=500><p align=center>NO Matches were Found</p></td></tr>";
exit;
}
}else{
echo "<table border=1>";
$query2="SELECT * FROM listings ORDER BY id ASC LIMIT $start, $display";
$result2 = mysql_query($query2) or die ("Error in query: $query2. ".mysql_error());
$num = mysql_num_rows ($result2);
echo "<table border=1>";
while($row = mysql_fetch_row($result2)){
$member1="SELECT * FROM members WHERE username='$row[5]'";
$resultm = mysql_query($member1) or die ("Error in query: $member. ".mysql_error());
while($mem = mysql_fetch_row($resultm)){
echo "<tr><td width=300><p align=center><a href=listing.php?id=$row[0]>$row[1]</a><br><font size=2>Location: $mem[10]</td><td width=100>Price: $$row[2]</p></td></tr>";
}
}
}
?>
<html>
<head>
<title>Browsing Ze Localz</title>
<link rel="stylesheet" type="text/css"
href="store.css">
</head>
<body bgcolor=#0065FF>
<form method="POST" action="--WEBBOT-SELF--">
	<p>Search:<input type="text" name="search" size="45">
	<input type="submit" value="Search" name="submit"></p>
<?PHP
echo "</form>";
if ($num_pages > 1){
echo '<br><p>';
$current_page = ($start/$display) + 1;
if($current_page != 1){
echo '<a href="browse.php?s'.($start - $display).'$np='.$num_pages.'">Previous</a> ';
}
for($i =1; $i <= $num_pages; $i++){
if ($i != $current_page){
echo '<a href="browse.php?s=' . (($display*($i - 1))) . '&np=' . $num_pages . '">' . $i . '</a> ';
}else{
echo $i.'';
}
}
if($current_page != $num_pages){
echo '<a href="browse.php?s='.($start + $display).'&np='.$num_pages . '">Next</a> ';
}
}
?>
</html>

"Syntax error" .. WHERE THE **** IS IT?!

#2 unkownname

unkownname
  • Members
  • PipPip
  • Member
  • 19 posts

Posted 29 July 2006 - 12:43 PM

you could i was put the search in the url like so http://site.com/brow...search=whatever
and read it like this. $_GET['search']




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users