Ekskluder søge-resultat hvis værdi er lig 1
Hejsa eksperterJeg er igang med at lave en simpel søge funktion i PHP/MySQL. Jeg har det grundlæggende der skal bruges, men jeg er nu løbet ind i et lille problem.
Jeg har en tabel hvori der er et felt der hedder skjult. Når jeg normalt trækker data ud fra tabellen skjuler den indlæg med værdien 1 i feltet skjult og viser indlæg med værdien 0.
Problemet er at jeg ikke lige helt ved hvordan skal sætte mit søge script ordenligt sammen så det ikke medtager og viser noget somhelst der har værdien 1 i skjult feltet.
Dette er hvad jeg har bikset sammen indtil videre:
<?
if(isset($_POST["ord"])) { $ord = $_POST["ord"]; } else { $ord = $_GET["ord"]; }
if(!$ord) {
echo "Du har ikke indtastet et søgeord...";
}
else {
$resultat = mysql_query("SELECT * FROM kh_nyhed WHERE titel LIKE '%".$ord."%' OR indhold LIKE '%".$ord."%' order by id desc") or die(mysql_error());
if(mysql_num_rows($resultat) == 0 ) {
echo "Der blev ikke fundet nogen resultater...";
} else {
while($r=mysql_fetch_array($resultat)) {
$nyhedsid=$r["id"];
$emne=$r["titel"];
$dato=$r["dato"];
$skjult=$r["skjult"];
if ($skjult == "1"){}
else {
echo $dato ." | <a href=\"?x=episode&id=".$nyhedsid."\">".$emne."</a><br />";
}
}
}
}
?>
Som i kan se i min while løkke har jeg sat scriptet til at gøre ingenting hvis værdien er 1 i feltet skjult.
Hvis jeg søger på et indlæg i tabellen som er skjult udskriver den ingenting som det kan ses her: http://kh.goatie.dk/?x=soeg&ord=test . Der vil jeg helst have den til at skrive "Der blev ikke fundet nogen resultater...". Men hvis jeg søger efter f.eks. "te" som både findes i skjulte og ikke skjulte indlæg tager den desværre også teksten med hvis jeg sætter den ind i if($skjult=="1").
Jeg håber der nogle derude som kan hjælpe mig frem til en løsning på mit lille problem.