Hjælp til søgefunktion
Hej eksperter!Jeg sidder her søndag eftermiddag og roder med en søgefunktion på min side.
Kort fortalt så er det en søgefunktion som kigger i min mysql med brug af LIKE og viser så derefter den række der opfylder kravet.
Det jeg ønsker at lave er en slags relevans procent. Altså hvis jeg søger på "1234" og i tabellen der står "1234" opnår jeg en 100% relevans. Men hvis jeg derimod søgte på "123" skulle der måske stå 75% relevans. Jeg håber i kan følge mig.
Derudover vil jeg gerne kunne liste flere søgeresultater efter den her relevans. Dvs. højeste % øverst.
Min kode:
== SØGESIDEN:
<?php
session_start();
include("db_con.php");
$answers = $db->SendSQL("SELECT * FROM ja_answers");
$count_answers = count($answers);
$totalanswers = $count_answers;
if(isset($_POST['sSearch']))
{
echo "<script> location = 'search.php?gSearch=".$_POST['sSearch']."' </script>";
}
?>
og formen:
<form name="search" method="post" action="">
<input name="sSearch" type="text" id="sSearch" size="50" />
?
</label>
</p>
<p>
<label>
<input type="submit" name="search" id="search" value="JostAsk" />
</form>
== RESULTATSIDEN:
<?php
session_start();
include("db_con.php");
$answers = $db->SendSQL("SELECT * FROM ja_answers");
$count_answers = count($answers);
$totalanswers = $count_answers;
$search = mysql_escape_string($_GET['gSearch']);
$query = $db->SendSQL("SELECT * FROM ja_questions WHERE question LIKE '%".$search."%'");
$count = count($query);
if(isset($_POST['sSearch']))
{
echo "<script> location = 'search.php?gSearch=".$_POST['sSearch']."' </script>";
}
?>
og svar:
Svar:<br />
<?
if($count > 0)
{
//Vi fandt noget...
for($i=0;$i<$count;$i++)
$answer = $db->SendSQL("SELECT * FROM ja_answers WHERE qid='".$query[$i][1]."'");
print_r ("Resultat: ".$answer[0][3]."<br>");
}
else
{
//Vi fandt ikke noget...
echo "Dit spørgsmål '" . $search . "' er desværre ikke blevet besvaret. Opret dig nu og hjælp!";
}
?>
Hvis i har nogle spørgsmål så fyr løs. Jeg smider 200 points få det svar jeg finder mest nyttig! God søndag :)
