Avatar billede darkdruid Nybegynder
20. december 2008 - 17:35 Der er 4 kommentarer og
2 løsninger

Ekskluder søge-resultat hvis værdi er lig 1

Hejsa eksperter

Jeg 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&amp;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.
Avatar billede coderdk Praktikant
20. december 2008 - 18:13 #1
SELECT * FROM kh_nyhed WHERE skjult = 0 AND (titel LIKE '%".$ord."%' OR indhold LIKE '%".$ord."%') order by id desc
Avatar billede darkdruid Nybegynder
21. december 2008 - 04:21 #2
He he, der kan bare se hvor ulogisk min hjerne arbejder efter alt for lang tid væk fra kodningen.

Tak for den hurtige og simple hjælp coderdk.
Hvis du lige smider et svar så får du kastet nogle point efter dig :)
Avatar billede coderdk Praktikant
21. december 2008 - 15:42 #3
Lad os bare dele dem :)
Avatar billede coderdk Praktikant
21. december 2008 - 15:42 #4
Hov, det skulle have været et svar :)
Avatar billede darkdruid Nybegynder
22. december 2008 - 07:30 #5
Ok, da problemet egentlig var ret let håber jeg du kan nøjes med en 50/50 deling :)
Avatar billede coderdk Praktikant
22. december 2008 - 10:02 #6
Rigeligt :) Tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester