Извеждане на резултатите от търсенето
Извеждането на екрана става стандартно като се използва един [WHILE] цикъл и се премине масива, в който са запаметени първите 10 резултата.
CODE1
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
}
?> |
Ако съществуват резултати при претърсването то тогава те се извеждат на екрана, като заедно с тях се показва колко е броя на резултатите, за колко време е претърсена базата за данни и колко са резултатите на първата показана страница за съответната фраза.
В случай, че няма намерени резултати, то тогава показваме само формата за търсене и отразяваме текста, че няма намерени резултати при търсенето.
След като показахме резултати, сега ще покажим и броя на страниците върху които се простират всички резултати.
CODE1
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 може да бъде изпробван!