Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Програмиране на собствена търсачка с MySQL и PHP
  1. Въведение
  2. Създаване на търсачката
  3. Извеждане на резултатите от търсенето
  4. Пример за тестване
Mutatos
     
Автор  Mutatos (14.04.2005 22:30)  съобщение до автора
Погледнат  5804 пъти  добави към любими
Оценка  добави коментар
Гласове  4  изпрати на приятел
Коментари  (2)  абонирай се за PHP
    Страница 3 / 4

 



Извеждане на резултатите от търсенето

Извеждането на екрана става стандартно като се използва един [WHILE] цикъл и се премине масива, в който са запаметени първите 10 резултата.

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?PHP
if($results != 0)
{

?>   
   
<
table border="0" cellspacing="2" cellpadding="2">
  <
tr>
    <
td width="47%">Резултати за <?PHP echo "<i><b><font color=#000000>".$search_query."</font></b></i> "; ?></td>
    <
td width="53%" align="right" height="22">Резултати <b><?PHP echo ($first_pos+1)." - "; if(($RESULTS_LIMIT + $first_pos) < $results) echo ($RESULTS_LIMIT + $first_pos); else echo $results ; ?></b>
      от общо <
b><?PHP echo $results; ?></b> за (<b><?PHP echo sprintf("%01.2f", $time_search); ?></b>)
      секунди </
td>
  </
tr>
  <
tr>
    <
form action="" method="GET">
      <
td colspan="2" align="center"> <input name="search_query" type="text" value="<?PHP echo $search_query; ?>" size="40">
        <
input name="search_button" type="submit" value="Search"> </td>
    </
form>
  </
tr>
  <?
PHP   
   
while($row = mysql_fetch_array($sql_result_query))
    {

    ?>
      <
tr align="left">
        <
td colspan="2"><?PHP echo $row['title']; ?></td>
      </
tr>
  <?
PHP
   
}
    ?>
</
table>
<?
}
else
{
?>
<
table border="0" cellspacing="2" cellpadding="0">
    <
tr>
        <
td align="center">Няма намерени резултати за <?PHP echo "<i><b><font color=#000000>".$search_query."</font></b></i> "; ?></td>
    </
tr>
    <
tr>
        <
form action="" method="GET">
        <
td colspan="2" align="center">
            <
input name="search_query" type="text" value="<?PHP echo $search_query; ?>">
            <
input name="search_button" type="submit" value="Search">
        </
td>
        </
form>
    </
tr>
</
table>
<?
PHP
}
?>


Ако съществуват резултати при претърсването то тогава те се извеждат на екрана, като заедно с тях се показва колко е броя на резултатите, за колко време е претърсена базата за данни и колко са резултатите на първата показана страница за съответната фраза.

В случай, че няма намерени резултати, то тогава показваме само формата за търсене и отразяваме текста, че няма намерени резултати при търсенето.

След като показахме резултати, сега ще покажим и броя на страниците върху които се простират всички резултати.


CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<table width="300" border="0" cellspacing="0" cellpadding="0">
  <
tr>
    <
td align="right">
<?
PHP
if($first_pos > 0)
{
 
$back=$first_pos-$RESULTS_LIMIT;
 
if($back < 0)
  {
   
$back = 0;
 
}
 
echo "<a href="search.php?search_query=".stripslashes($search_query)."&first_pos=$back" ><< </a>";
}

if($results>$RESULTS_LIMIT)
{
 
$sites=intval($results/$RESULTS_LIMIT);
 
if($results%$RESULTS_LIMIT)
  {
   
$sites++;
 
}
}

for ($i=1;$i<=$sites;$i++)
{
 
$fwd=($i-1)*$RESULTS_LIMIT;
 
if($fwd == $first_pos)
  {
     
echo "<a href="search.php?search_query=".stripslashes($search_query)."&first_pos=$fwd" style='color:#000000'><b>$i</b></a> | ";
 
}
 
else
 
{
     
echo "<a href="search.php?search_query=".stripslashes($search_query)."&first_pos=$fwd" >$i</a> | ";   
 
}
}

if($first_pos < $results-$RESULTS_LIMIT)
{
 
$fwd=$first_pos+$RESULTS_LIMIT;
 
echo "<a href="search.php?search_query=".stripslashes($search_query)."&first_pos=$fwd" > >></a>";
 
$fwd=$results-$RESULTS_LIMIT;
}
?>
    </
td>
  </
tr>
</
table>


Надявам се урока да ви хареса и да ви е от помощ. Да си направиш търсачка не е трудно, но е важно да се знаят някои от най-основните неща, който се опитах в този урок да обясня. За тестване предоставям и пълния код, който е тестван и директно с Copy&Paste може да бъде изпробван!



 << Предишна страница Следваща страница >> 


Ключови думи: PHP myslq програмиране търсачка таблица fulltext index заявка запитване


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 За автора: Mutatos  
Николай Николов се занимава с програмиране на PHP/MySQL повече от 6 години. Заедно с разработката на уеб приложения на PHP, се занимава с Java, XML и Webservices.
   
 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

Ми на ред 104 или 105 си пропуснал да сложиш ;

  Mutatos на 03.12.2006 11:21

Направих всичко точно но когато искам да търся нещо ми излиза това
 CODE
1
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\Program Files\Xammpp\xampp\htdocs\Test\search.php on line 105
как да го оправя?

  k1amera на 16.05.2006 17:50

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008