Avatar billede arkanoid Nybegynder
15. februar 2005 - 19:47 Der er 5 kommentarer og
1 løsning

Søgefunktion i PHP og MySQL

Hej.
Jeg bakser med en søgefunktion (se spørgsmål 3 felter længere nede), men kan ikke rigtig få min kode til at virke:

$content = $_POST['content'];
$keyword = $_POST['searchstr'];
if ((empty($content))||(empty($keyword))||($keyword == "Søgeord")){
    echo "<p>Du har ikke skrevet et s&#248;geord og/eller valgt s&#248;gekategori</p>";
} else {
    $sql = "SELECT * FROM ".$content." WHERE title LIKE '%keyword%' OR author LIKE '%keyword%' OR shortstory LIKE '%keyword%' OR fullstory LIKE '%keyword%' OR category LIKE '%KEYWORD%'";
    $result = mysql_query($sql) or die("Fejl: ".mysql_error());
    echo "<h1>S&#248;geresultater</h1>";
   
    if (mysql_num_rows($result) == "0"){
        echo "<p>Der blev desv&#230;rre ikke fundet nogle resultater, der matcher dine kriterier</p>";
    } else {
        $num_results = mysql_num_rows($result);
        echo "<p><b>Der blev fundet ".$num_results." resultater:</b></p>";
        echo "<table class=\"topmenu\" width=\"530\">";
        while ($row = mysql_fetch_array($result)){
            $date = $row['date'];
            $title = $row['title'];
            $shortstory = $row['shortstory'];
            $category = $row['category'];
            $id = $row['ID'];
            echo "<tr><td valign=\"top\" class=\"searchtopleft\"><div class=\"form\"><a href=\"http://amerang.dk/".$content."/index.php?show=full&id=$id\" title=\"$title\">$title</a></div></td>";
            echo "<td valign=\"top\" class=\"searchtopright\"><div class=\"form\">Dato: $date | Kategori: $category</div></td></tr>";
            echo "<tr><td valign=\"top\" colspan=\"2\" class=\"searchbottom\"><div class=\"form\"><i>$shortstory ... <a href=\"http://amerang.dk/".$content."/index.php?show=full&id=$id\" title=\"$title\">L&#230;s mere</a></i></div></td></tr>";
        }
        echo "</table>";
    }
}

Nogle der kan spotte en fejl, eller give et bud til et alternativ?
Avatar billede arkanoid Nybegynder
15. februar 2005 - 19:49 #1
Det skal lige nævnes at jeg _er_ forbundet til databasen, og at det output jeg får er "<p>Du har ikke skrevet et s&#248;geord og/eller valgt s&#248;gekategori</p>" (linje 4) til trods for at jeg _ved_ at ordet jeg søger på eksistere i DB'en
Avatar billede greew Nybegynder
15. februar 2005 - 20:26 #2
Må vi se koden på den form, som sender inputtet ??
Avatar billede arkanoid Nybegynder
15. februar 2005 - 20:33 #3
<form name="search" action="http://amerang.dk/search.php" method="post">
<input class="rightbar" type="text" name="searchstr" size="15" value="S&#248;geord" maxlength="128"><br>
<input type="radio" name="content" value="articles" checked> Artikler<br>
<input type="radio" name="content" value="reviews"> Anmeldelser<br>
<input type="radio" name="content" value="news"> Nyheder<br>
<input class="rightbar" type="submit" name="Search" value="S&#248;g">
</form>
Avatar billede greew Nybegynder
15. februar 2005 - 20:44 #4
Mangler du $ på dine '%keyword%' i
$sql = "SELECT * FROM ".$content." WHERE title LIKE '%keyword%' OR author LIKE '%keyword%' OR shortstory LIKE '%keyword%' OR fullstory LIKE '%keyword%' OR category LIKE '%KEYWORD%'";

??
Avatar billede arkanoid Nybegynder
15. februar 2005 - 20:48 #5
hovsa... der er gået ged i et eller andet der. Takker, det virker nu.... smid lige et svar
Avatar billede greew Nybegynder
15. februar 2005 - 20:48 #6
Værsågod :)
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