Hjææælp! Søgefunktion med flere sider virker ikke..
Jeg har lavet en søgefunktion over en side med artikler, hvor søgningen skal blive delt op så der kommer 5 resultater pr. side (fx: << [1] 2 [3] [4] >>). Allerførst er der en fuld liste med artikler, med samme sidesystem. Dette sidesystem virker fint. Det gør sidesystemet til søgningen på artiklerne dog ikke.. Det ser sådan her ud://søgning start
$offset2 = (isset($_GET['offset2'])) ? $_GET['offset2'] : 0; // Hvis ikke $offset2 er sat, sættes den til 0
$pr_side2 = 5; // Antal resultater pr. side
echo "<br><br><a name=\"search\"><p class=\"header1\">";
$search_dk = "Søg i nyhederne";
$search_en = "Search the news";
echo_lang($search_dk, $search_en, $langID);
echo "</p>";
if($langID == "dk"){
$echo_search = "Søg";
}elseif($langID == "en"){
$echo_search = "Search";
}
?>
<br><br><center><FORM METHOD="post" ACTION="http://www.noekken.com/index2.php?page=news&langID=<?php echo $langID;?>">
<INPUT TYPE="text" NAME="text_search" STYLE="background:F9D3D3;border:1px solid black;font:bold 10px verdana;">
<INPUT TYPE="submit" STYLE="background:F9D3D3;border:1px solid black;font:bold 10px verdana;" VALUE="<?php echo $echo_search;?>">
</FORM></center>
<?php
//Søgning query start:
if($text_search){
if($langID == "dk"){
global_mysql_connect();
$query["news4"] = mysql_query("SELECT id, date, dk_header, dk_text, file_name FROM news WHERE dk_header LIKE '%$text_search%'
OR dk_text LIKE '%$text_search%' ORDER BY id DESC LIMIT $offset2,$pr_side2") or die(mysql_error());;
echo mysql_num_rows($query["news4"]) . " forekomst(er) fundet, med ordet $text_search" . ":<br><br>";
while($data_news4 = mysql_fetch_array($query["news4"])){
echo "<p class=\"header2\"><a href=\"?page=news&langID=$langID" . "&special=$data_news4[0]" . "\">$data_news4[2]" . "</a></p>
<center>
<table border=\"0\" class=\"clean\"><tr>
<td class=\"clean\"><a href=\"?page=news&langID=$langID" . "&special=$data_news4[0]" . "\">
<img src=\"include/add/$data_news4[4]" . "\" style=\"filter: alpha(opacity=60);\" onmouseover=\"style.filter='alpha(opacity=100)';\"
onmouseout=\"style.filter='alpha(opacity=60)';\" width=\"100\" height=\"100\" align=\"top\" border=\"1\"></a></td><td align=\"left\" class=\"clean\">";
if (strlen($data_news4[3]) > 300) {
$data_news4[3] = substr($data_news4[3], 0, 300) . "... <a href=\"?page=news&langID=$langID" . "&special=$data_news4[0]" . "\">[læs mere]</a>";
}
echo $data_news4[3] . "</td><tr><td class=\"clean\" colspan=\"2\" align=\"center\">Dato: $data_news4[1]" . "</td></tr></table><hr width=\"60%\"></center><br>";
}
}elseif($langID == "en"){
global_mysql_connect();
$query["news4"] = mysql_query("SELECT id, date, en_header, en_text, file_name FROM news WHERE en_header LIKE '%$text_search%'
OR en_text LIKE '%$text_search%' ORDER BY id DESC LIMIT $offset2,$pr_side2") or die(mysql_error());;
echo mysql_num_rows($query["news4"]) . " result(s) found, using the word $text_search" . ":<br><br>";
while($data_news4 = mysql_fetch_array($query["news4"])){
echo "<p class=\"header2\"><a href=\"?page=news&langID=$langID" . "&special=$data_news4[0]" . "\">$data_news4[2]" . "</a></p>
<center>
<table border=\"0\" class=\"clean\"><tr>
<td class=\"clean\"><a href=\"?page=news&langID=$langID" . "&special=$data_news4[0]" . "\">
<img src=\"include/add/$data_news4[4]" . "\" style=\"filter: alpha(opacity=60);\" onmouseover=\"style.filter='alpha(opacity=100)';\"
onmouseout=\"style.filter='alpha(opacity=60)';\" width=\"100\" height=\"100\" align=\"top\" border=\"1\"></a></td><td align=\"left\" class=\"clean\">";
if (strlen($data_news4[3]) > 300) {
$data_news4[3] = substr($data_news4[3], 0, 300) . "... <a href=\"?page=news&langID=$langID" . "&special=$data_news4[0]" . "\">[læs mere]</a>";
}
echo $data_news4[3] . "</td><tr><td class=\"clean\" colspan=\"2\" align=\"center\">Date: $data_news4[1]" . "</td></tr></table><hr width=\"60%\"></center><br>";
}
} //søgning query slut
//Side listing start:
echo "<center>";
// Tæller antal poster i databasen
$tael2 = mysql_query("SELECT COUNT(*) AS antal2 FROM news") or die (mysql_error());
$antal2 = mysql_result($tael2,0);
//Koden herunder burde give sig selv, hvis du kan lidt matematik
if ($offset2 >= $pr_side2) {
$forrige2 = $offset2-$pr_side2;
echo "<a href=\"?offset2=$forrige2" . "&langID=$langID" . "&page=news\"><<</a> ";
}
$page2 = 1; //Definerer hvor sidetal skal starte
for($start2=0; $antal2 > $start2; $start2=$start2+$pr_side2){
if ($start2 != $offset2) {
echo "<a href=\"?offset2=$start2" . "&langID=$langID" . "&page=news\">$page</a> ";
} else {
echo "$page2 ";
}
$page2++;
}
if ($antal2 > $offset2+$pr_side2) {
$naeste2 = $offset2+$pr_side2;
echo "<a href=\"?offset2=$naeste2" . "&langID=$langID" . "&page=news\">>></a>";
}
echo "</center>";
} //Side listing slut
}
I kan selv se resultatet på http://www.noekken.com/index2.php?page=articles&langID=dk -søg på "e" under artikler.. Det skulle give 6 resultater, istedet giver det 5 og I kan selv se hvordan 'sidelistingen' ser ud.. Ku godt bruge et svar så hurtigt som mulig! - TAk!
