Indsætte søgefunktion på side
Hej Eksperter. Er det muligt at indsætte en søgefunktion i nedenstående kode, så man kan udvælge de records som indeholder et søgeord? Det skal være i feltet "produkt". De records som skal vises skal vises på samme måde som de ellers bliver vist;)<table width="560" border="0" cellspacing="5" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<td width="360" valign="top"><span class="stor"><b><u>Annonce</u></b></span></td>
<td width="70" align="center" valign="top"><span class="stor"><b><u>Pris</u></b></span></td>
<td width="130" align="center" valign="top"><span class="stor"><b><u>Område</u></b></span></td>
</tr>
</table>
<?php
require_once("../members/common.php");
// Funktion, der "klipper" en tekst over på det mest hensigtsmæssige sted (".", " ", )
// str klip(str tekst, int længde, int tolerance)
function klip($tekst, $laengde = 200, $tolerance = 10) // $laengde og $tolerance kan udelades
{
$punktum = strpos(substr($tekst, $laengde-$tolerance, 2*$tolerance), "."); // position af punktum
$mellemrum = strpos(substr($tekst, $laengde-$tolerance, 2*$tolerance), " "); // position af mellemrum
$mere = "..."; // punktummer hvis mere tekst
if (strlen($tekst) <= $laengde + $tolerance) {
$slut_pos = strlen($tekst); // slutposition = slut på tekst, da denne er kortere end $laengde og $tolerance
$mere = ""; // ikke andet
} elseif ($punktum !== false) {
$slut_pos = $laengde-$tolerance+$punktum; // slutposition = punktum
} elseif ($mellemrum !== false) {
$slut_pos = $laengde-$tolerance+$mellemrum; // slutposition = mellemrum
} else {
$slut_pos = $laengde; // slutposition $laengde (ikke noget at gøre - skær ord over)
}
return substr($tekst, 0, $slut_pos) . $mere; // udskriv del + evt. punktummer
}
echo "<table border=\"0\" cellspacing=\"5\" cellpadding=\"0\"><tr><td>";
$pr_side = "20"; //Definerer antal resultater pr. side
if (!isset($s)) {
$s = "0"; //Tjekker om $s - som står for start - er sat, hvis ikke sættes den
}
$g_total = mysql_query("select count(id) as total from salgAfProdukt") or die(mysql_error());
$total = mysql_result($g_total,0);
if($total>$pr_side)
{
if ($total > $s+5){
##
#Find ud af om derskal være et Forrige link
##
if ($s >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side
$previous_s = $s-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes
echo "<a href='?s=$previous_s'><font color=\"#4682B4\">Forrige</font></a> "; //Udskriver linket
}
##
#Find ud af hvis/hvor mange sider der er rows til
##
$page = 1; //Definerer hvor sidetal skal starte
for($start=0; $total > $start; $start=$start+$pr_side){ //For-løkke der kører indtil der ikke er nok rows til en side mere
if ($start != $s) { //Tjekker om linket vil komme til at pege på den side man er på
echo "<a href='?s=$start'><font color=\"#4682B4\">$page</font></a> "; //...hvis ikke, udskrives link med værdien af $page
} else { //Ellers, dvs. hvis linket vil pege på den side man er på..
echo "<font color=\"#000000\">$page </font>"; //...udskrives værdien af $page bare, altså ikke som link
}
$page++; //Lægger en til $page til næste gang løkken køres
}
##
#Find ud af om der skal være et næste link
##
if ($total > $s+$pr_side) { //Tjekker om der er flere sider
$next_s = $s+$pr_side; //Regner ud hvor mysql skal starte hvis næste side kaldes
echo "<a href='?s=$next_s'><font color=\"#4682B4\">Næste</font></a>"; //Udskriver linket "næste"
}
}
}
echo "</tr></td></table>";
echo " <table width=\"560\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"bgcolor=\"#CAD9EA\">
<tr>
<td><span class=\"mini\"> </span></td>
</tr>
</table>";
$query = mysql_query("select * from salgAfProdukt left join postnr on salgAfProdukt.postNr = postnr.postnr order by id desc limit $s,$pr_side") or die(mysql_error());
while($row = mysql_fetch_array($query)){
echo "
<table width=\"560\" border=\"0\" cellspacing=\"5\" cellpadding=\"0\" bgcolor=\"#FFFFFF\">
<tr>
<td width=\"360\" valign=\"top\"><span class=\"mellem\"><a href=\"vis.php?id=$row[Id]\" target=\"vs\">$row[produkt]</a></span> <br><span class=\"lille\">".klip($row['supplerendeTekst'])."</span></td>
<td width=\"70\" align=\"center\" valign=\"top\"><span class=\"lilleS\">".$row['pris']." Kr.</span></td>
<td width=\"130\" align=\"center\" valign=\"top\"><span class=\"lilleS\">".$row['bynavn']."</span></td></tr></table>
<table width=\"560\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"bgcolor=\"#CAD9EA\">
<tr>
<td><span class=\"mini\"> </span></td>
</tr>
</table>";
}
$total = mysql_result($g_total,0);
if($total>$pr_side){
##
#Find ud af om derskal være et Forrige link
##
if ($s >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side
$previous_s = $s-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes
echo "<a href='?s=$previous_s'><font color=\"#4682B4\">Forrige</font></a> "; //Udskriver linket
}
##
#Find ud af hvis/hvor mange sider der er rows til
##
$page = 1; //Definerer hvor sidetal skal starte
for($start=0; $total > $start; $start=$start+$pr_side){ //For-løkke der kører indtil der ikke er nok rows til en side mere
if ($start != $s) { //Tjekker om linket vil komme til at pege på den side man er på
echo "<a href='?s=$start'><font color=\"#4682B4\">$page</font></a> "; //...hvis ikke, udskrives link med værdien af $page
} else { //Ellers, dvs. hvis linket vil pege på den side man er på..
echo "<font color=\"#000000\">$page </font>"; //...udskrives værdien af $page bare, altså ikke som link
}
$page++; //Lægger en til $page til næste gang løkken køres
}
##
#Find ud af om der skal være et næste link
##
if ($total > $s+$pr_side) { //Tjekker om der er flere sider
$next_s = $s+$pr_side; //Regner ud hvor mysql skal starte hvis næste side kaldes
echo "<a href='?s=$next_s'><font color=\"#4682B4\">Næste</font></a>"; //Udskriver linket "næste"
}
}
?>
