himesh Posted January 18, 2010 Share Posted January 18, 2010 I am trying to get my search bar to search three fields from one table and if one of the fields from the three is matched, display the applicable field. I have the following code which should work. $query_searchbar = "SELECT producttype, manufacturer, modelnumber FROM tblproduct WHERE producttype AND manufacturer AND modelnumber='$_POST[search]'"; This is my form which is running the code. <form id="search" name="search" method="post" action="searchresults.php"> <input type="text" name="search" id="search" /> </form> As the searchbar is in the header, I do not want a submit button, it runs by pressing enter.This is the entire page for the results page which is currently not displaying anything. <?php require_once('Connections/conn_comm.php'); ?><?php//initialize the sessionif (!isset($_SESSION['MM_Username'])) { session_start();}// ** Logout the current user. **$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){ $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);}if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){ //to fully log out a visitor we need to clear the session varialbles $_SESSION['MM_Username'] = NULL; $_SESSION['MM_UserGroup'] = NULL; $_SESSION['PrevUrl'] = NULL; unset($_SESSION['MM_Username']); unset($_SESSION['MM_UserGroup']); unset($_SESSION['PrevUrl']); $logoutGoTo = "loggedout.php"; if ($logoutGoTo) { header("Location: $logoutGoTo"); exit; }}?><?phpif (!function_exists("GetSQLValueString")) {function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; } $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue;}}$maxRows_cart = 1;$pageNum_cart = 0;if (isset($_GET['pageNum_cart'])) { $pageNum_cart = $_GET['pageNum_cart'];}$startRow_cart = $pageNum_cart * $maxRows_cart;$colname_cart = "-1";if (isset($_GET['MM_Username'])) { $colname_cart = $_GET['MM_Username'];}mysql_select_db($database_conn_comm, $conn_comm);$query_cart = sprintf("SELECT * FROM tblcart WHERE username = %s", GetSQLValueString($colname_cart, "text"));$query_limit_cart = sprintf("%s LIMIT %d, %d", $query_cart, $startRow_cart, $maxRows_cart);$cart = mysql_query($query_limit_cart, $conn_comm) or die(mysql_error());$row_cart = mysql_fetch_assoc($cart);if (isset($_GET['totalRows_cart'])) { $totalRows_cart = $_GET['totalRows_cart'];} else { $all_cart = mysql_query($query_cart); $totalRows_cart = mysql_num_rows($all_cart);}$totalPages_cart = ceil($totalRows_cart/$maxRows_cart)-1;mysql_select_db($database_conn_comm, $conn_comm);$query_searchbar = "SELECT producttype, manufacturer, modelnumber FROM tblproduct WHERE producttype AND manufacturer AND modelnumber='$_POST[search]'";$searchbar = mysql_query($query_searchbar, $conn_comm) or die(mysql_error());$row_searchbar = mysql_fetch_assoc($searchbar);$totalRows_searchbar = mysql_num_rows($searchbar);?><?php// *** Validate request to login to this site.if(!isset($_SESSION['MM_Username'])){ session_start();}$loginFormAction = $_SERVER['PHP_SELF'];if (isset($_GET['accesscheck'])) { $_SESSION['PrevUrl'] = $_GET['accesscheck'];}if (isset($_POST['username'])) { $loginUsername=$_POST['username']; $password=$_POST['password']; $MM_fldUserAuthorization = ""; $MM_redirectLoginSuccess = "loggedin.php"; $MM_redirectLoginFailed = "sorry.php"; $MM_redirecttoReferrer = false; mysql_select_db($database_conn_comm, $conn_comm); $LoginRS__query=sprintf("SELECT username, password FROM tbluser WHERE username=%s AND password=%s", GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); $LoginRS = mysql_query($LoginRS__query, $conn_comm) or die(mysql_error()); $loginFoundUser = mysql_num_rows($LoginRS); if ($loginFoundUser) { $loginStrGroup = ""; //declare two session variables and assign them $_SESSION['MM_Username'] = $loginUsername; $_SESSION['MM_UserGroup'] = $loginStrGroup; if (isset($_SESSION['PrevUrl']) && false) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("Location: " . $MM_redirectLoginSuccess ); } else { header("Location: ". $MM_redirectLoginFailed ); }}?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Communicate - the best in mobile communications</title><link rel="stylesheet" type="text/css" href="_css/main.css" /><link rel="stylesheet" type="text/css" href="_css/style.css" /> <script src="jquery-1.2.1.min.js" type="text/javascript"></script> <script src="menu.js" type="text/javascript"></script><!--[if IE]><style type="text/css"> /* place css fixes for all versions of IE in this conditional comment */.thrColElsHdr #sidebar1, .thrColElsHdr #sidebar2 { padding-top: 30px; }.thrColElsHdr #mainContent { zoom: 1; padding-top: 15px; }/* the above proprietary zoom property gives IE the hasLayout it needs to avoid several bugs */</style><![endif]--></head><body class="thrColElsHdr"><div id="container"> <div id="header"> <div id="search"> <form id="search" name="search" method="post" action="searchresults.php"> <input type="text" name="search" id="search" /> </form> </div> <!-- end #header --> </div> <div id="sidebar1"><ul id="menu"> <li><a href="http://www.himeshs.co.uk/communicate/index.php">Home</a></li> <li> <a href="#">Manufacturer</a> <ul> <li><a href="http://www.himeshs.co.uk/communicate/allmanufacturer.php">All</a></li> <li><a href="http://www.himeshs.co.uk/communicate/se.php">Sony Ericsson</a></li> <li><a href="http://www.himeshs.co.uk/communicate/apple.php">Apple</a></li> <li><a href="http://www.himeshs.co.uk/communicate/nokia.php">Nokia</a></li> <li><a href="http://www.himeshs.co.uk/communicate/samsung.php">Samsung</a></li> </ul> </li> <li> <a href="#">Type</a> <ul> <li><a href="http://www.himeshs.co.uk/communicate/alltype.php">All</a></li> <li><a href="http://www.himeshs.co.uk/communicate/slide.php">Slide</a></li> <li><a href="http://www.himeshs.co.uk/communicate/candy.php">Candy Bar</a></li> <li><a href="http://www.himeshs.co.uk/communicate/flip.php">Flip</a></li> </ul> </li> <li> <a href="#">Features</a> <ul> <li><a href="http://www.himeshs.co.uk/communicate/camera.php">Camera</a></li> <li><a href="http://www.himeshs.co.uk/communicate/music.php">Music</a></li> <li><a href="http://www.himeshs.co.uk/communicate/internet.php">Internet</a></li> </ul> </li> <li><a href="http://www.himeshs.co.uk/communicate/aboutus.php">About us</a></li> <li><a href="http://www.himeshs.co.uk/communicate/contact.php">Contact us</a></li> </ul> <!-- end #sidebar1 --> </div> <div id="sidebar2"> <?phpif(isset($_SESSION['MM_Username'])){ // Member is logged in so we have to display welcome message with userid and one logout linkdo { $html = <<<END_OF_HTMLWelcome {$_SESSION['MM_Username']} <table border="0"> <tr> <td>Manufacturer</td> <td> {$row_cart['manufacturer']} </td> </tr> <tr> <td>Model Number</td> <td> {$row_cart['modelnumber']} </td> </tr> <tr> <td>Quantity</td> <td> {$row_cart['quantity']} </td> </tr> <tr> <td>Price</td> <td> {$row_cart['price']} </td> </tr> </table> END_OF_HTML; echo $html;} while ($row_cart = mysql_fetch_assoc($cart)); } else { // Member has not logged in so we can display the login form allowing member to login with user id and passwordecho <<<END_OF_HTML <form id="form1" name="form1" method="POST" action="{$loginFormAction}"> <input type="text" name="username" id="username" /><br /> Password<br /> <input type="password" name="password" id="password" /> <br /><input name="Submit" type="submit" value="Submit" /></form>END_OF_HTML;}?> <a href="<?php echo $logoutAction ?>">Log out</a> <!-- end #sidebar2 --></div> <div id="mainContent"> <h1><?php echo $row_searchbar['manufacturer']; ?></h1> <p><?php echo $row_searchbar['modelnumber']; ?></p> <p><?php echo $row_searchbar['producttype']; ?></p> <!-- end #mainContent --> </div> <!-- This clearing element should immediately follow the #mainContent div in order to force the #container div to contain all child floats --><br class="clearfloat" /> <div id="footer"> <p>Footer</p> <!-- end #footer --></div><!-- end #container --></div></body></html><?phpmysql_free_result($cart);mysql_free_result($searchbar);?> Link to comment Share on other sites More sharing options...
jeffman Posted January 18, 2010 Share Posted January 18, 2010 Write your conditionals out completely, and use OR instead of AND. All 3 of your fields won't be equal to your search term at the same time, right?$item = $_POST['search'];$query_searchbar = "SELECT producttype, manufacturer, modelnumber FROM tblproduct WHERE producttype='$item' OR manufacture='$item' OR modelnumber='$item'";I have not looked at the rest of your code. It might be a good idea to test your queries in a separate file that is as simple as possible. Link to comment Share on other sites More sharing options...
himesh Posted January 18, 2010 Author Share Posted January 18, 2010 Thanks that worked a treat! I thought it was a simple fix lol Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.