Проблем с търсачка.

bafitu

Registered
този ред не е хубав :)
$querys = " SELECT * FROM news where title like '%$search%' OR newstext like '%$search%' ORDER BY posted DESC " . "LIMIT $redove, $broinastranica";
поправи на :
$querys = " SELECT * FROM news where title like '%$search%' OR newstext like '%$search%' ORDER BY posted DESC LIMIT $redove, $broinastranica";
 

jooorooo

Registered
намерих къде ми е грешката. и сега е ок, но не търси, а изкарва всички резултати.

ето кода на търсачката:

Код:
<?php


mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни");
@mysql_select_db($db_name) or die("Грешна база данни");

// определяме колко реда да ни показва. В случая 20 на страница.
$broinastranica = 10;

// от коя страница да почне да показва.Може да искаме да е от втора или от последна.
$pageNum = 1;

// ако има получени данни $_GET['page'] ще покаже страницата с номер $_GET['page']
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}

// проверяваме таблицата колко редове има
$chars="SET CHARACTER SET cp1251";
mysql_query($chars);
$search=$_GET['search'];
$query = "SELECT COUNT(id_news) AS numrows FROM news where title like '%$search%' OR newstext like '%$search%' ";
$result = mysql_query($query) or die('Error, query failed1');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
if ($numrows<1)
{echo "Няма намерени резултати";}

$maxPage = ceil($numrows/$broinastranica);

$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';
echo '<center><font face="Tahoma" style="font-size: 8pt">Страници:</font> ';
for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= "<font face=\"Tahoma\" style=\"font-size: 8pt\">$page</font>";
}
else
{
$nomeranastranici .= " <font face=\"Tahoma\" style=\"font-size: 8pt\"><a href=\"$self?page=$page\">$page</a> </font>";
}
}

// създаване на ликовете [предишна] [следваща]
// както и линковете [първа] и [последна]

if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = "<font face=\"Tahoma\" style=\"font-size: 8pt\"><a href=\"$self?page=$page\">[<<<<<]</a> </font>";

$parva = "<font face=\"Tahoma\" style=\"font-size: 8pt\"><a href=\"$self?page=1\">[първа]</a> </font>";
}
else
{
$predishna = ' ';
$parva = ' ';
}

if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$sledvashta = "<font face=\"Tahoma\" style=\"font-size: 8pt\"><a href=\"$self?page=$page\">[>>>>>]</a> </font>";

$posledna = "<font face=\"Tahoma\" style=\"font-size: 8pt\"><a href=\"$self?page=$maxPage\">[последна]</a></font>";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}

// показваме всички страници
echo $parva . $predishna . $nomeranastranici . $sledvashta . $posledna; 


//тука определяме кои редове ще се показват - примерно ако $_GET['page']=2
// ще покаже от 20 до 40-ти ред.
$redove = ($pageNum - 1) * $broinastranica;
//заявката ще върне само посочените редове - примерно от 20 до 40 в зависимост от $_GET['page']
$chars="SET CHARACTER SET cp1251";
mysql_query($chars);
$search=$_GET['search'];
$querys = " SELECT * FROM news where title like '%$search%' OR newstext like '%$search%' ORDER BY id_news DESC LIMIT $redove, $broinastranica";
$results = mysql_query($querys) or die('Error, query failed2');


// print-ваме посочените редове в таблица.
while($row = mysql_fetch_array($results))
{
$title=$row[title];
$cats=$row[cats];
$chas=$row[chas];
$minuti=$row[minuti];
$den=$row[den];
$mesec=$row[mesec];
$godina=$row[godina];
$newstextlite=$row[newstextlite];


echo "<table width=100% border=0 cellpadding=0 cellspacing=0>
		  	<tr>

        <td  class=text height=19 background=img/h_gr2.gif>  <strong><a href=fullnews.php?id_news=".$id_news.">".$title."</a></strong></td>
      </tr>
	  
            <tr>
              <td>
<table  id=lineLRBs class=nav border=0 cellpadding=0 cellspacing=0 width=100%>
  <tr>
    <td height=25px id=lineBottom width=33%>  Категория: <strong><a href=catview.php?cats=".$cats.">".$cats."</a></strong></td>
    <td height=25px id=lineBottom width=33%> </td>
    <td height=25px id=lineBottom width=34%>  <strong>".$chas.":".$minuti." - ".$den."/".$mesec."/.".$godina."</strong></td>
  </tr>
  <tr>
    <td id=lineBottom width=100% colspan=3><div><table cellpadding=5 width=100%>
  <tr>
    <td width=100%><p align=justify>".$newstextlite."</p></td>
  </tr>
</table></div></td>
  </tr>
  <tr>
    <td height=25px width=33%>  <a href=addcomment.php?id_news=>".$id_news."><strong>Добави коментар</strong></a> </td>
    <td height=25px width=33%>  <strong><a href=comments.php?id_news=".$id_news.">Коментари</a></strong></td>
    <td height=25px width=34%>  <a href=fullnews.php?id_news=".$id_news."><strong>Прочети цялата новина</strong></a></td>
  </tr>
</table>";
echo "<br>";
} 

?>

а това е на формата:
Код:
<form method="POST" action="search.php">
<table cellpadding="0" cellspacing="0" width="300px" >
  <tr>
    <td align="right" width="200px"><input type="text" name="search" size="30"></td>
    <td align="right" width="100px"><input type="submit" value="<?php echo $SEARCH ?>" name="search"></td>
  </tr>
</table>
</form>
 

jooorooo

Registered
намерих къде ми е грешката. не трябва да е с $search = $_GET[Search] и на това място, а в конфиг фаила добавих
Код:
$search = $_POST[Search];
 

Горе