Avatar billede _what_ Nybegynder
14. november 2006 - 15:20 Der er 7 kommentarer og
1 løsning

Søgefunktion virker ikke

Jeg er ved at lave en lille søgefunktion. Den skal gerne kunne søge på bestemte dele af min db. Det vil sige at man fra en dropdown vælger et område som der skal søges i. Ordet der søges efter kommer selvfølgelig fra almindelig input box.

Jeg har i db lavet et par entrys til at teste med. En hvor alt er ud fyldt med a og en med b og en med c.

Hvis jeg søger ud fra det kode jeg har lavet på a så finder de alle 3 entrys også selvom den kun burde finde en.

Søge ord: a Søge katagori: navn Resultat: a, b og c

Søge ord: a Søge katagori: stilling Resultat: intet fundet

Søge ord: b Søge katagori: mobil Resultat: a, b og c

Det virker for mig til at hvis det der søges efter findes i søge katagorien viser den alle. Hvis det ikke findes i søge katagorien viser den intet. Den skulle jo gerne søge på indeholdet og ikke katagori navnet.

Hvis jeg skifter min variable i sql sætning ude til f.eks. k_mobil og søger på b så finder den kun b.

Koden ser ud som følger:

_____________________________________________

<?
if(@$_POST[send]){
include ("mysql_connect.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);

    $search = mysql_query("SELECT * FROM kilde WHERE '".$_POST["katagori"]."' LIKE '%".$_POST["ord"]."%'");
    if(mysql_num_rows($search) > 0)
    {
        //Wee vi fandt noget
        while ($row = mysql_fetch_array($search))
        {
            echo $row['k_navn'] . "<br>";
            echo $row['k_stilling'] . "<br>";
            echo $row['k_brugthos'] . "<br>";
            echo $row['k_brugttil'] . "<br>";
        }
    }
    else
    {
        //Ikke fundet noget
        echo "Vi fandt desværre ikke noget";
    }
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>..:: S&oslash;g kilde ::..</title>
</head>

<body>
<table width="500" border="0" align="center" cellpadding="2" cellspacing="2">
<form method="post" name="post">
  <tr>
    <td width="71">&nbsp;</td>
    <td width="415">&nbsp;</td>
  </tr>
  <tr>
    <td>S&oslash;ge ord: </td>
    <td><input type="text" name="ord" tabindex="1" /></td>
  </tr>
  <tr>
    <td>S&oslash;g efter: </td>
    <td><select name="katagori" tabindex="2">
      <option value="k_navn">Navn</option>
      <option value="k_stilling">Stilling</option>
      <option value="k_firma">Firma</option>
      <option value="k_tlf_priv">Tlf. priv</option>
      <option value="k_tlf_firma">Tlf. firma</option>
      <option value="k_mobil">Mobil</option>
      <option value="k_adresse">Adresse</option>
      <option value="k_postnr">Post nr.</option>
      <option value="k_by">By</option>
      <option value="k_email">E-Mail</option>
      <option value="k_hjemmeside">Hjemmeside</option>
      <option value="k_brugt_dato">Brugt dato</option>
      <option value="k_brugt_til">Brugt til</option>
      <option value="k_brugt_hos">Brugt hos</option>
      <option value="k_kommentar">Kommentar</option>
    </select>    </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input name="send" type="submit" value="S&oslash;g" tabindex="3" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><div align="right"><a href="admin_menu.php">admin menu</a> </div></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>Resultat</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
    </form>
</table>
</body>
</html>
Avatar billede mcardle Nybegynder
14. november 2006 - 20:11 #1
Du skal lige sætte en action="" -attribut ind i din form.
Avatar billede _what_ Nybegynder
15. november 2006 - 07:08 #2
Hvor og hvorfor den reagere jo på min knap når det er.
Avatar billede mcardle Nybegynder
15. november 2006 - 07:40 #3
Det er muligt, men det er ikke god kodning.

<form method="post" name="post" action="<?php $_SERVER['PHP_SELF']; ?>">
Avatar billede mcardle Nybegynder
15. november 2006 - 07:44 #4
Du skal også lige have nogle gåseøjne på linie 1:

if(@$_POST[send]){

så det bliver if(@$_POST["send"]){
Avatar billede _what_ Nybegynder
15. november 2006 - 10:59 #5
De ting er hermed rettet og tilføjet men problemet er stadig det samme.
Avatar billede intenz Novice
15. november 2006 - 12:42 #6
Umiddelbart kan jeg ikke lige lure fejlen, har du prøvet at udskrive:
print "SELECT * FROM kilde WHERE '.$_POST["katagori"].' LIKE '%.$_POST["ord"].%'";

lige før din mysql query, og se om der sker det i query som der burde?
Avatar billede _what_ Nybegynder
15. november 2006 - 13:15 #7
Hejsa

Jeg fandt lige fejlen nu en af de der små dumme ting.

$search = mysql_query("SELECT * FROM kilde WHERE ".$_POST["katagori"]." LIKE '%".$_POST["ord"]."%'");

Imod tidligere

$search = mysql_query("SELECT * FROM kilde WHERE '".$_POST["katagori"]."' LIKE '%".$_POST["ord"]."%'");

Eneste forskel er at der er fjernet 2 ' som var omkring katagori.

Intenz var om ikke andet en god ide det du kom med der så smid et svar :)
Avatar billede intenz Novice
15. november 2006 - 20:45 #8
svar
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