Avatar billede crapmaster Nybegynder
19. juni 2004 - 06:01 Der er 3 kommentarer og
1 løsning

Spm ang. søgning

Hvordan får jeg denne søgningen til at bilve beder, nogle forslag ???...


>>> seek_data.php <<<

<?php
//Include files, do not change.
include "config.php";
include "security.php";
include "header.php";
include "main_contain.php";

?>
</style>
<link rel="stylesheet" type="text/css" href="style.css">
<?
include ("include/kontakt_Db.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<title>DVD Kartotek</title>
</head>
<body bgcolor="#ffffff" topmargin="0" marginheight="0" leftmargin="0" text="#ffffff" link="#FFFFFF" alink="#FFFFFF" vlink="#FFFFFF">

<center>
<form action="seek_data.php" method="post">
<input class="input" type="text" name="seek" value="Søg" onfocus="if(this.value=='Søg')this.value='';" onblur="if(this.value=='')this.value='Søg';" size="20">
<select name='kat' size='1'>
    <option value='alle' selected>Skuespiller</option>
    <option value='nr'>DVD Nummer</option>
    <option value='titel'>Titel</option>
    <option value='titel2'>Undertiteler</option>
    <option value='gener'>Gener</option>
    <option value='udlaandt'>Udlånt</option>
</select>
<input type="submit" class="input" name="sog" value="Søg">
</form>

<?
if ($_POST["kat"] == "alle") {
    $color2 = "#ffffff";
    $color1 = "#ffffff";
    $result = mysql_query("select * from dvdfilm where titel like '$_POST[seek]%' or titel2 like '$_POST[seek]%' or nr like '$_POST[seek]%' or skuespiller_1 like '$_POST[seek]%' or skuespiller_2 like '$_POST[seek]%' or skuespiller_3 like '$_POST[seek]%' or skuespiller_4 like '$_POST[seek]%' or skuespiller_5 like '$_POST[seek]%' or skuespiller_6 like '$_POST[seek]%' or skuespiller_7 like '$_POST[seek]%' or skuespiller_8 like '$_POST[seek]%' or skuespiller_9 like '$_POST[seek]%' or skuespiller_10 like '$_POST[seek]%' or gener like '$_POST[seek]%' or udlaandt like '$_POST[seek]%' or id like '$_POST[seek]%' ORDER BY titel") or die(mysql_error());
    $nr = mysql_num_rows($result);
    echo  "Din søgning på: <b>$_POST[seek]</b> gav $nr resultater";
    if ($nr > 0) {
        while ($row = mysql_fetch_array($result)){
            $color = ($color == $color1 ? $color2 : $color1);
            echo"<table border='0' width='300' cellspacing='0' cellpadding='0' bgcolor='$color'>
            <tr>
            <td width='130' valign='top'><font size='1' face='Verdana'>Titel</font></td>
            <td width='5' valign='top'><font size='1' face='Verdana'>:</font></td>
            <td width='200' valign='top'><font size='1' face='Verdana'>
            <a href=index2.php?film_id=$row[id]/&quot; target=\"_self\">$row[titel]</a></font></td>
            </tr>
            <tr>
            <td width='130' valign='top'><font size='1' face='Verdana'>Undertitele</font></td>
            <td width='5' valign='top'><font size='1' face='Verdana'>:</font></td>
            <td width='200' valign='top'><font size='1' face='Verdana'>
            <a href=index2.php?film_id=$row[id]/&quot; target=\"_self\">$row[titel2]</a></font></td>
            </tr>
            <table border='0' width='300' cellspacing='0' cellpadding='0' bgcolor='$color'>
            <tr>
            <td width='130' valign='top'><font size='1' face='Verdana'>Gener</font></td>
            <td width='5' valign='top'><font size='1' face='Verdana'>:</font></td>
            <td width='200' valign='top'><font size='1' face='Verdana'>$row[gener]</font></td>
            </tr>
            <tr>
            <td width='130' valign='top'><font size='1' face='Verdana'>Udlånt til</font></td>
            <td width='5' valign='top'><font size='1' face='Verdana'>:</font></td>
            <td width='200' valign='top'><font size='1' face='Verdana'>$row[udlaandt_til]</font></td>
            </tr>
            </table><br>";
        }
    }
} elseif ($_POST["kat"] != "alle" && !empty($_POST["kat"])) {
    $color2 = "#ffffff";
    $color1 = "#ffffff";
    $result = mysql_query("select * from dvdfilm where $_POST[kat] like '$_POST[seek]%' ORDER BY titel") or die(mysql_error());
    $nr = mysql_num_rows($result);
    echo  "Din søgning på: <b>$_POST[seek]</b> gav $nr resultater";
    if ($nr > 0) {
        while ($row = mysql_fetch_array($result)) {
            $color = ($color == $color1 ? $color2 : $color1);
            echo "<p>";
            echo "<table border='0' width='300' cellspacing='0' cellpadding='0' bgcolor='$color'>
            <tr>
                <td width='130' valign='top'><font size='1' face='Verdana'>Titel</font></td>
                <td width='5' valign='top'><font size='1' face='Verdana'>:</font></td>
                    <td width='200' valign='top'><font size='1' face='Verdana'>
                    <a href=index2.php?film_id=$row[id]/&quot; target=\"_self\">$row[titel]</a></font></td>
              </tr>
            <tr>
                <td width='130' valign='top'><font size='1' face='Verdana'>Undertitele</font></td>
                <td width='5' valign='top'><font size='1' face='Verdana'>:</font></td>
                    <td width='200' valign='top'><font size='1' face='Verdana'>
                    <a href=index2.php?film_id=$row[id]/&quot; target=\"_self\">$row[titel2]</a></font></td>
              </tr>
                <tr>
                <td width='130' valign='top'><font size='1' face='Verdana'>Gener</font></td>
                <td width='5' valign='top'><font size='1' face='Verdana'>:</font></td>
                <td width='200' valign='top'><font size='1' face='Verdana'>$row[gener]</font></td>
              </tr>
                <tr>
                <td width='130' valign='top'><font size='1' face='Verdana'>Udlånt</font></td>
                <td width='5' valign='top'><font size='1' face='Verdana'>:</font></td>
                <td width='200' valign='top'><font size='1' face='Verdana'>$row[udlaandt]</font></td>
              </tr>
            </table><br>";
        }
    }
}
?>
</center>
</body>
</html>
Avatar billede krydset Nybegynder
19. juni 2004 - 10:15 #1
du kunne bruge fulltext søgning i stedet ??
http://dev.mysql.com/doc/mysql/en/Fulltext_Search.html
Avatar billede crapmaster Nybegynder
19. juni 2004 - 11:23 #2
ok lyder godt, men hvordan gør jeg så lige det, så det kan bruges i denne kode
Avatar billede nicklasb Nybegynder
19. juni 2004 - 16:39 #3
der ligger en meget god artikkel lige nøjagtig om det emne på rostved.dk ( http://www.rostved.net/articles/?a=2 )
Du skal dog, som det også bliver nævnt i artiklen, have et par poster at vælge imellem før den giver resultat. du kunne også bruge noget IN, bare ikke like som nu. Det er den absolut langsommeste og værste måde at lave det på efter min mening..
Avatar billede crapmaster Nybegynder
20. juni 2004 - 01:55 #4
//Lukker
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