Проблем с търсачка (if)

paneznam

Registered
Здравейте!Може ли някой да ми покаже как ще стане, ако няма оферти по критерийте зададени от търсачката да изпише "няма оферти" ? пробвах с иф и елсеиф но нещо не успях да го вържа :D.Моляви помогнете!
Код:
 <?
//е-mail на който да се изпращат коментарите
include "config.php";
$host = "localhost";
$user = "belograd_bk1";
$pass = "@(R?eEIItd4:";
$db = "belograd_bk";

$connect = mysql_connect($host, $user, $pass);
if(!$connect){
die(mysql_error());
}

$select = mysql_select_db($db, $connect);
if(!$select){
die(mysql_error());
}
$appearance = $_POST['appearance'];
$category = $_POST['category'];
$position = $_POST['position'];
$town = $_POST['town'];
///\\\
/* Връзка с БД */
$db=mysql_connect ("localhost", "belograd", "@(R?eEIItd4:") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("belograd_bk");
////
$chars="SET CHARACTER SET cp1251";
mysql_query($chars);
////

/* Отбележете по колко резултата да се показват на страница */
$pp = "3";

// изберета таблиза която искате да покажете
$table = "realestates";

$total = mysql_result(mysql_query("SELECT COUNT(id) FROM $table WHERE appearance LIKE '%$appearance%' and category LIKE '%$category%' and position LIKE '%$position%' or town LIKE '%$town%'"),0);
$numofpages = $total / $pp;
if (!isset($_GET['page'])) {
$page = 1;
}
else {
$page = $_GET['page'];
}
$limitvalue = $page * $pp - ($pp);

/* покажете записите, в този случай аз показвам само [username] */
$query = "SELECT * FROM $table WHERE appearance LIKE '%$appearance%' and category LIKE '%$category%' and position LIKE '%$position%' or town LIKE '%$town%' LIMIT $limitvalue, $pp";
$result = mysql_query($query);
while($r=mysql_fetch_array($result))
{
echo "
<div class=\"center_menus\">
<font size=\"2\"><br></font> &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp  &nbsp  &nbsp<b>".$r['name']."</b><font size=\"1\"><br></font> <table>
<tr>
<td>
<tr><td cellspacing=\"0\" cellpadding=\"0\" border=\"0\" valign=\"top\"><font size=\"2px\">
 &nbsp &nbsp &nbsp &nbsp <b>Вид Имот:</b><br>
 &nbsp &nbsp &nbsp &nbsp <b>Реф:</b><br>
 &nbsp &nbsp &nbsp &nbsp <b>Местоположение:</b><br>
 &nbsp &nbsp &nbsp &nbsp <b>Град/Село:</b><br>
 &nbsp &nbsp &nbsp &nbsp <b>Жилищна площ:</b><br>
 &nbsp &nbsp &nbsp &nbsp <b>Дворна площ:</b><br>
 &nbsp &nbsp &nbsp &nbsp <b>Цена:</b><br>
 &nbsp &nbsp &nbsp &nbsp &nbsp   &nbsp  &nbsp  &nbsp  &nbsp   &nbsp  &nbsp  &nbsp  &nbsp <a href=\"view.php?&id=".$r['id']."&table=realestates\"><img border=\"0\" src=\"images/detaili.gif\" /></a><br>
</td><td cellspacing=\"0\" cellpadding=\"0\" border=\"0\" valign=\"top\"><font size=\"2px\">
 ".$r['appearance']."<br>
 ".$r['id']."<br>
 ".$r['position']."<br>
 ".$r['town']."<br>
 ".$r['area1']."<br>
 ".$r['area2']."<br>
 ".$r['price']."<br>
</font>
<td>
 &nbsp &nbsp &nbsp &nbsp  &nbsp  &nbsp <a href=\"view.php?&id=".$r['id']."\"><img border=\"0\" src=".$r['image']." width=\"171\" height=\"120s\" alt=\"Real Estate Company\"></a>
<br>
</td>
</td>
</tr>
     ";
echo"
</tr>
</td>
</table>
</div>


";
}
function per_page($link, $offset) {
global $numofpages, $page;
$numofpages = round($numofpages);

$pagesstart = round($page-$offset);
$pagesend = round($page+$offset);

/* показване на стрелки « за предишна страница */
if ($page != "1" && round($numofpages) != "0") {
echo str_replace("%page", round($page-1), '<a href="'.$link.'"><font face="Trebuchet MS">«</font></a> ');
}

for($i = 1; $i <= $numofpages; $i++) {
if ($pagesstart <= $i && $pagesend >= $i) {
if ($i == $page) {
echo "<b>[$i]</b> ";
}
else {
echo str_replace("%page", "$i", '<a href="'.$link.'">'.$i.'</a> '); //номерация на страниците
}
}
}
if (round($numofpages) == "0") {
echo "[$i]";
}
/* показване на стрелки » за следваща страница */
if ($page != round($numofpages) && round($numofpages) != "0") {
echo str_replace("%page", round($page+1), '<a href="'.$link.'"><font face="Trebuchet MS">»</font></a>');
}
}

echo '<center><br> &nbsp ';
/* показване на общия брой страници и избор на страница */
per_page("?page=%page", "5");
echo "</center>
?>
 
include "config.php";
$host = "localhost";
$user = "belograd_bk1";
$pass = "@(R?eEIItd4:";
$db = "belograd_bk";


Това незнам колко е уместно да го даваш :)

Направи си проверка с num_rows() , дали имаш записи към съответното търсене. Ако има ги въртиш, ако няма не въртиш.
 
кф ае бе ти пък вие не сте крадци 8) Дай примерче, че ми е непонятно тва дето ми каза :lol:
 
Както са ти казали, трябва да пробваш с mysql_num_rows.
/* покажете записите, в този случай аз показвам само [username] */
$query = "SELECT * FROM $table WHERE appearance LIKE '%$appearance%' and category LIKE '%$category%' and position LIKE '%$position%' or town LIKE '%$town%' LIMIT $limitvalue, $pp";
$result = mysql_query($query);
$num = mysql_num_rows($result);

if($num == 0)
{
echo "Няма нищо намерено";
}
else
{

while($r=mysql_fetch_array($result))
{
..............................................................

}
 
хора това не помага защото това е принципа за търсене и задаване на критерий :
Код:
<form action=\"search.php?p=result\" enctype=\"multipart/form-data\" method=\"post\"/>
<font class=\"white\">
Категория: &nbsp<select name=\"category\">
<option value =\"1\">Купя</option>
<option value =\"2\">Наема</option></select><br>
Вид: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<select name=\"appearance\">
<option value =\"1\">Къщи,вили</option>
<option value =\"2\">Парцели</option>
<option value =\"3\">Земя</option>
<option value =\"4\">Апартаменти</option>
<option value =\"5\">Офиси</option>
<option value =\"6\">Бизнес</option>
<option value =\"7\">Студиа</option>
<option value =\"8\">Други</option>
</select><br>
Град/Село:
<select name='town'>
";
include "config.php";
$gettown = mysql_query("SELECT * FROM towns ORDER BY 'town' ASC");
            while ($town = MySQL_Fetch_Array($gettown)) {
    echo ("<center><option value='$town[town]'>$town[town]</option>");
}
echo "<center>
</select><br>
Място:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<select name=\"position\">
<option value =\"1\">В планината</option>
<option value =\"2\">В ски курорт</option>
<option value =\"3\">На морето</option>
<option value =\"4\">В СПА курорт</option>
<option value =\"5\">До язовир</option>
<option value =\"6\">В град</option>
<option value =\"7\">В Село</option>
</select>
</font>
<center><input type=\"submit\" name=\"submit\" value=\"Търси\"/></center></center>
</form>

и съответно как да стане така, ако няма оферта по зададените критерий да изпише, че няма оферта ? :!:
 
аве приятел, я обясни точно!За какви "оферти" ми прикзаваш!Точно какво искаш?
 
Ми значи офертите се записват в таблица
Код:
CREATE TABLE `realestates` ( 
`id` int(100) NOT NULL auto_increment, 
`date` datetime NOT NULL, 
`name` varchar(255) character set cp1251 NOT NULL, 
`description` varchar(255) character set cp1251 NOT NULL,
`position` varchar(255) character set cp1251 NOT NULL,
`area1` varchar(255) character set cp1251 NOT NULL,
`area2` varchar(255) character set cp1251 NOT NULL,
`price` varchar(255) character set cp1251 NOT NULL,
`appearance` varchar(255) character set cp1251 NOT NULL,
`category` varchar(255) character set cp1251 NOT NULL,
`town` varchar(255) character set cp1251 NOT NULL,
`town_en` varchar(255) character set cp1251 NOT NULL,
`name_en` varchar(255) character set cp1251 NOT NULL, 
`description_en` varchar(255) character set cp1251 NOT NULL,
`position_en` varchar(255) character set cp1251 NOT NULL,
`area1_en` varchar(255) character set cp1251 NOT NULL,
`area2_en` varchar(255) character set cp1251 NOT NULL,
`price_en` varchar(255) character set cp1251 NOT NULL,
`appearance_en` varchar(255) character set cp1251 NOT NULL,
`category_en` varchar(255) character set cp1251 NOT NULL,

`image` varchar(255) character set cp1251 NOT NULL,

PRIMARY KEY (`id`) 
);
След това се правя форма за търсене
Код:
<form action=\"search.php?p=result\" enctype=\"multipart/form-data\" method=\"post\"/> 
<font class=\"white\"> 
Категория: &nbsp<select name=\"category\"> 
<option value =\"1\">Купя</option> 
<option value =\"2\">Наема</option></select><br> 
Вид: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<select name=\"appearance\"> 
<option value =\"1\">Къщи,вили</option> 
<option value =\"2\">Парцели</option> 
<option value =\"3\">Земя</option> 
<option value =\"4\">Апартаменти</option> 
<option value =\"5\">Офиси</option> 
<option value =\"6\">Бизнес</option> 
<option value =\"7\">Студиа</option> 
<option value =\"8\">Други</option> 
</select><br> 
Град/Село: 
<select name='town'> 
"; 
include "config.php"; 
$gettown = mysql_query("SELECT * FROM towns ORDER BY 'town' ASC"); 
            while ($town = MySQL_Fetch_Array($gettown)) { 
    echo ("<center><option value='$town[town]'>$town[town]</option>"); 
} 
echo "<center> 
</select><br> 
Място:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<select name=\"position\"> 
<option value =\"1\">В планината</option> 
<option value =\"2\">В ски курорт</option> 
<option value =\"3\">На морето</option> 
<option value =\"4\">В СПА курорт</option> 
<option value =\"5\">До язовир</option> 
<option value =\"6\">В град</option> 
<option value =\"7\">В Село</option> 
</select> 
</font> 
<center><input type=\"submit\" name=\"submit\" value=\"Търси\"/></center></center> 
</form>
След това формата изпраща следната информация
Код:
$appearance = $_POST['appearance'];
$category = $_POST['category'];
$position = $_POST['position'];
$town = $_POST['town'];
След това следва :
Код:
$table = "realestates";

$total = mysql_result(mysql_query("SELECT COUNT(id) FROM $table WHERE appearance LIKE '%$appearance%' and category LIKE '%$category%' and position LIKE '%$position%' or town LIKE '%$town%'"),0);
$numofpages = $total / $pp;
if (!isset($_GET['page'])) {
$page = 1;
}
else {
$page = $_GET['page'];
}
$limitvalue = $page * $pp - ($pp);

/* покажете записите, в този случай аз показвам само [username] */
$query = "SELECT * FROM $table WHERE appearance LIKE '%$appearance%' and category LIKE '%$category%' and position LIKE '%$position%' or town LIKE '%$town%' LIMIT $limitvalue, $pp";
$result = mysql_query($query);
$num = mysql_num_rows($result);
while($r=mysql_fetch_array($result))
{
if($num == 0)
{
echo "
<div class=\"center_menus\">
<font size=\"2\"><br></font> &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp  &nbsp  &nbsp <font size=\"1\"><br></font> <table>
<tr>
<td>
<tr><td cellspacing=\"0\" cellpadding=\"0\" border=\"0\" valign=\"top\"><font size=\"2px\"><br><br><br>
 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp<b> Търсенето не даде резултат!</b>
</font>
<td>
</td>
</td>
</tr>
     ";
echo"
</tr>
</td>
</table>
</div>


";
}
else
{
echo "
<div class=\"center_menus\">
<font size=\"2\"><br></font> &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp  &nbsp  &nbsp<b>".$r['name']."</b><font size=\"1\"><br></font> <table>
<tr>
<td>
<tr><td cellspacing=\"0\" cellpadding=\"0\" border=\"0\" valign=\"top\"><font size=\"2px\">
 &nbsp &nbsp &nbsp &nbsp <b>Вид Имот:</b><br>
 &nbsp &nbsp &nbsp &nbsp <b>Реф:</b><br>
 &nbsp &nbsp &nbsp &nbsp <b>Местоположение:</b><br>
 &nbsp &nbsp &nbsp &nbsp <b>Град/Село:</b><br>
 &nbsp &nbsp &nbsp &nbsp <b>Жилищна площ:</b><br>
 &nbsp &nbsp &nbsp &nbsp <b>Дворна площ:</b><br>
 &nbsp &nbsp &nbsp &nbsp <b>Цена:</b><br>
 &nbsp &nbsp &nbsp &nbsp &nbsp   &nbsp  &nbsp  &nbsp  &nbsp   &nbsp  &nbsp  &nbsp  &nbsp <a href=\"view.php?&id=".$r['id']."&table=realestates\"><img border=\"0\" src=\"images/detaili.gif\" /></a><br>
</td><td cellspacing=\"0\" cellpadding=\"0\" border=\"0\" valign=\"top\"><font size=\"2px\">
 ".$r['appearance']."<br>
 ".$r['id']."<br>
 ".$r['position']."<br>
 ".$r['town']."<br>
 ".$r['area1']."<br>
 ".$r['area2']."<br>
 ".$r['price']."<br>
</font>
<td>
 &nbsp &nbsp &nbsp &nbsp  &nbsp  &nbsp <a href=\"view.php?&id=".$r['id']."\"><img border=\"0\" src=".$r['image']." width=\"171\" height=\"120s\" alt=\"Real Estate Company\"></a>
<br>$num!
</td>
</td>
</tr>
     ";
echo"
</tr>
</td>
</table>
</div>


";
}
}
function per_page($link, $offset) {
global $numofpages, $page;
$numofpages = round($numofpages);

$pagesstart = round($page-$offset);
$pagesend = round($page+$offset);

/* показване на стрелки « за предишна страница */
if ($page != "1" && round($numofpages) != "0") {
echo str_replace("%page", round($page-1), '<a href="'.$link.'"><font face="Trebuchet MS">«</font></a> ');
}

for($i = 1; $i <= $numofpages; $i++) {
if ($pagesstart <= $i && $pagesend >= $i) {
if ($i == $page) {
echo "<b>[$i]</b> ";
}
else {
echo str_replace("%page", "$i", '<a href="'.$link.'">'.$i.'</a> '); //номерация на страниците
}
}
}
if (round($numofpages) == "0") {
echo "[$i]";
}
/* показване на стрелки » за следваща страница */
if ($page != round($numofpages) && round($numofpages) != "0") {
echo str_replace("%page", round($page+1), '<a href="'.$link.'"><font face="Trebuchet MS">»</font></a>');
}
}

echo '<center><br> &nbsp ';
/* показване на общия брой страници и избор на страница */
per_page("?page=%page", "5");
И аз искам като по зададените критерий няма оферта да покеже, че няма оферта !
 
Еми като изкараш всички резултати правиш проверка на търсения низ чрез цикъл пък за да провериш дали има такива записи

Код:
if(count(kolonata) == 0)
{
     echo "няма резултати";
}
else
{
      echo "има резултати";
}


поне аз така ти разбирам въпроса
 
emagi ти е написал как ще стане точн опо този начин. Броиш полетата с mysql_num_rows след това проверяваш със if ако е равно на 0 тогава да пише че няма разултати else кода за търсачката. :roll:
 

Back
Горе