Reputation: 33
I have a mysql keyword search on my website and it works fine. The problem is when someone searches a keyword I haven't added, nothing shows up on the results page. Instead of nothing showing up I would like to have a no results were found message. I don't fully understand how to do this or where I would place the code. I would imagine the code would look something like this
If($row_record['image']?="")
{echo row
}else
echo "<p>no results we're found</p>"
}
I know this code is wrong I'm still new to this, but I imagine it would look something like that. Here is all the code on my results page for you to get a better understanding, thanks in advance.
<?php
# BuildNav for Dreamweaver MX v0.2
# 10-02-2002
# Alessandro Crugnola [TMM]
# sephiroth: [email protected]
# http://www.sephiroth.it
#
# Function for navigation build ::
function buildNavigation($pageNum_Recordset1,$totalPages_Recordset1,$prev_Recordset1,$next_Recordset1,$separator=" | ",$max_links=10, $show_page=true)
{
GLOBAL $maxRows_Recordset1,$totalRows_Recordset1;
$pagesArray = ""; $firstArray = ""; $lastArray = "";
if($max_links<2)$max_links=2;
if($pageNum_Recordset1<=$totalPages_Recordset1 && $pageNum_Recordset1>=0)
{
if ($pageNum_Recordset1 > ceil($max_links/2))
{
$fgp = $pageNum_Recordset1 - ceil($max_links/2) > 0 ? $pageNum_Recordset1 - ceil($max_links/2) : 1;
$egp = $pageNum_Recordset1 + ceil($max_links/2);
if ($egp >= $totalPages_Recordset1)
{
$egp = $totalPages_Recordset1+1;
$fgp = $totalPages_Recordset1 - ($max_links-1) > 0 ? $totalPages_Recordset1 - ($max_links-1) : 1;
}
}
else {
$fgp = 0;
$egp = $totalPages_Recordset1 >= $max_links ? $max_links : $totalPages_Recordset1+1;
}
if($totalPages_Recordset1 >= 1) {
# ------------------------
# Searching for $_GET vars
# ------------------------
$_get_vars = '';
if(!empty($_GET) || !empty($HTTP_GET_VARS)){
$_GET = empty($_GET) ? $HTTP_GET_VARS : $_GET;
foreach ($_GET as $_get_name => $_get_value) {
if ($_get_name != "pageNum_Recordset1") {
$_get_vars .= "&$_get_name=$_get_value";
}
}
}
$successivo = $pageNum_Recordset1+1;
$precedente = $pageNum_Recordset1-1;
$firstArray = ($pageNum_Recordset1 > 0) ? "<a href=\"$_SERVER[PHP_SELF]?pageNum_Recordset1=$precedente$_get_vars\">$prev_Recordset1</a>" : "$prev_Recordset1";
# ----------------------
# page numbers
# ----------------------
for($a = $fgp+1; $a <= $egp; $a++){
$theNext = $a-1;
if($show_page)
{
$textLink = $a;
} else {
$min_l = (($a-1)*$maxRows_Recordset1) + 1;
$max_l = ($a*$maxRows_Recordset1 >= $totalRows_Recordset1) ? $totalRows_Recordset1 : ($a*$maxRows_Recordset1);
$textLink = "$min_l - $max_l";
}
$_ss_k = floor($theNext/26);
if ($theNext != $pageNum_Recordset1)
{
$pagesArray .= "<a href=\"$_SERVER[PHP_SELF]?pageNum_Recordset1=$theNext$_get_vars\">";
$pagesArray .= "$textLink</a>" . ($theNext < $egp-1 ? $separator : "");
} else {
$pagesArray .= "$textLink" . ($theNext < $egp-1 ? $separator : "");
}
}
$theNext = $pageNum_Recordset1+1;
$offset_end = $totalPages_Recordset1;
$lastArray = ($pageNum_Recordset1 < $totalPages_Recordset1) ? "<a href=\"$_SERVER[PHP_SELF]?pageNum_Recordset1=$successivo$_get_vars\">$next_Recordset1</a>" : "$next_Recordset1";
}
}
return array($firstArray,$pagesArray,$lastArray);
}
?>
<?php require_once('Connections/theconnect.php'); ?>
<?php
if (!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_Recordset1 = 5;
$pageNum_Recordset1 = 0;
if (isset($_GET['pageNum_Recordset1'])) {
$pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;
$colname_Recordset1 = "-1";
if (isset($_GET['textfield'])) {
$colname_Recordset1 = $_GET['textfield'];
}
mysql_select_db($database_theconnect, $theconnect);
$query_Recordset1 = sprintf("SELECT * FROM abstract WHERE keyword LIKE %s OR id LIKE %s UNION ALL SELECT * FROM cartoons WHERE keyword LIKE %s OR id LIKE %s UNION ALL SELECT * FROM cute WHERE keyword LIKE %s OR id LIKE %s UNION ALL SELECT * FROM fashion WHERE keyword LIKE %s OR id LIKE %s UNION ALL SELECT * FROM forguys WHERE keyword LIKE %s OR id LIKE %s UNION ALL SELECT * FROM hiphop WHERE keyword LIKE %s OR id LIKE %s UNION ALL SELECT * FROM movies WHERE keyword LIKE %s OR id LIKE %s UNION ALL SELECT * FROM other WHERE keyword LIKE %s OR id LIKE %s UNION ALL SELECT * FROM pop WHERE keyword LIKE %s OR id LIKE %s UNION ALL SELECT * FROM quotes WHERE keyword LIKE %s OR id LIKE %s UNION ALL SELECT * FROM rnb WHERE keyword LIKE %s OR id LIKE %s UNION ALL SELECT * FROM random WHERE keyword LIKE %s OR id LIKE %s UNION ALL SELECT * FROM rock WHERE keyword LIKE %s OR id LIKE %s UNION ALL SELECT * FROM sports WHERE keyword LIKE %s OR id LIKE %s ", GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"),GetSQLValueString("%" . $colname_Recordset1 . "%", "text"));
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $theconnect) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
if (isset($_GET['totalRows_Recordset1'])) {
$totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
$all_Recordset1 = mysql_query($query_Recordset1);
$totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;
?>
<!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" />
<meta name="description" content="do this later"/>
<meta name="keywords" content="words and phrases for my site"/>
<title>mysite</title>
<style type="text/css">
body {
margin-top: -3px;
margin-bottom: -3px;
background-image: url(images/bg.png);
background-repeat: repeat;
}
</style>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script type="text/xml">
<!--
<oa:widgets>
<oa:widget wid="2149022" binding="#OAWidget" />
</oa:widgets>
-->
</script>
</head>
<body>
<div id="shadow">
<table width="910" border="0" align="center">
<tr>
<td bgcolor="#FFFFFF"><div id="header">
<form id="form1" name="form1" method="get" action="results.php">
<div id="headlinksR">
<?php require_once('includes/header_nav.php'); ?>
</div>
<span class="searchbar">
<input name="textfield" type="text" class="tfield_position" id="textfield" value="" />
<input name="button" type="submit" class="search" id="button" value="Search!" />
</span>
</form>
<?php require_once('includes/logo.php'); ?>
</div>
<div id="bodywrap">
<div id="content">
<div id="bannerad">
<?php require_once('includes/banner_ad.php'); ?>
</div>
<div class="Csepbar">do this later</div>
<div id="centerhold">
<div id="adhold">
<?php require_once('includes/center_ad.php'); ?>
</div>
<div id="fbapi">
<?php require_once('includes/fb_api.php'); ?>
</div>
</div>
<div class="Csepbar"> Results!</div>
<div id="covers">
<table align="center" cellspacing="5">
<?php do { ?>
<tr>
<td class="text"><div id="coverlike">
<script type="text/javascript">
// BeginOAWidget_Instance_2149022: #OAWidget
var urlToLike = 'view.php?id=<?php echo $row_Recordset1['id']; ?>&image=<?php echo $row_Recordset1['image']; ?>';
if (urlToLike == '') {
urlToLike = window.location.href;
}
urlToLike = encodeURIComponent(urlToLike);
var font = encodeURIComponent('arial');
document.write ('<iframe src="http://www.facebook.com/widgets/like.php?locale=en_US&href='+urlToLike+'&layout=button_count&show_faces=true&width=50&height=20&action=like&font='+font+'&colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:hidden; border-color:#ffffff; overflow:hidden; width:50; height:20"></iframe>')
// EndOAWidget_Instance_2149022
</script>
</div>
<div id="cname"><?php echo $row_Recordset1['name']; ?></div></td>
</tr>
<tr>
<td><img src="<?php echo $row_Recordset1['image']; ?>" alt="facebook cover" width="500" height="200" /></td>
</tr>
<tr>
<td><a href="view.php?id=<?php echo $row_Recordset1['id']; ?>&image=<?php echo $row_Recordset1['image']; ?>"><img src="images/bar_bg.png" alt="Facebook Covers" width="500" height="30" border="0" /></a></td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>
</div>
<div id="pagination"><span class="pagination">
<?php
# variable declaration
$prev_Recordset1 = "« previous";
$next_Recordset1 = "next »";
$separator = " | ";
$max_links = 5;
$pages_navigation_Recordset1 = buildNavigation($pageNum_Recordset1,$totalPages_Recordset1,$prev_Recordset1,$next_Recordset1,$separator,$max_links,true);
print $pages_navigation_Recordset1[0];
?>
<?php print $pages_navigation_Recordset1[1]; ?> <?php print $pages_navigation_Recordset1[2]; ?></span></div>
</div>
<div id="sidenav">
<div id="fb_like">
<?php require_once('includes/fb_like.php'); ?>
</div>
<div class="sepbar">
<p class="sepbarT">Categories</p>
</div>
<?php require_once('includes/side_nav.php'); ?>
<div class="sepbar">
<p span class="sepbarT">Sponsored By</p>
</div>
<div id="sidenavad">
<?php require_once('includes/side_ad.php'); ?>
</div>
</div>
</div>
<div id="footer">
<?php require_once('includes/footer.php'); ?>
</div></td>
</tr>
</table>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-27886561-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>
Upvotes: 0
Views: 995
Reputation: 1812
or you can put your sql result to an array or list and check null or size. by the way your search sql will be very slow if you have more than 100000 records in db.
Upvotes: 0
Reputation: 627
You will need to use mysql_num_rows
.
eg.
$query = mysql_query('SELECT `col` FROM `tbl` WHERE `cond`');
if (mysql_num_rows($query) <= 0) {
// no results
echo 'No results found.';
} else {
do {
// output
} while($res = mysql_fetch_assoc($query));
}
See: http://php.net/manual/en/function.mysql-num-rows.php
Upvotes: 1