Avatar billede Morten Professor
17. marts 2016 - 20:32 Der er 5 kommentarer og
1 løsning

Php søge maskine ;)

Hej eksperter

Jeg har et problem med min søge funktion. den bliver ved med at komme med alt fra databasen, selvom jeg søger på noget der ikke er der.

Min kode er:
$query = mysqli_query($hellestrik, "select * from vare where vare like '%" . $sogeord . "%'") or die(mysqli_error($hellestrik));
    if (mysqli_num_rows($query) >= 0) {
        echo "<strong>Fandt følgende:</strong><br /><br />";
        while ($foo = mysqli_fetch_object($query)) {
            echo '<a href="vare.php?t='. $foo->id .'&u=1&privat='.$_GET['privat'].'&prisid='.$_GET['prisid'].'&uk='. $foo->id .'&t='. $foo->id .'&vare='.$foo->vare .'&id='. $foo->id .'&idmain='. $foo->id .''.$_GET['privat'].'" style=font-weight:bold;>'.$foo->vare . '</a>' . $foo->tekst . '<br>';
        }
    } else {
        echo "Ingen vare var at finde.";
    }
}

Med venlig hilsen
Morten
Avatar billede arne_v Ekspert
17. marts 2016 - 20:46 #1
Bliver $sogeord af en eller anden grund ikke sat?
Avatar billede arne_v Ekspert
17. marts 2016 - 21:01 #2
Jeg formoder at er klar over at LIKE noget som starter med % er en ret langsom operation, hvis der er meget i databasen.
Avatar billede Morten Professor
17. marts 2016 - 21:10 #3
Her er alt hvad jeg har at gøre med.

Formen:
<?php echo '
  <div class="ui-widget">';
  echo '<form method="post">';
  echo '<label for="tags"></label>
  <input id="tags" style="width:108px;">
  <input hidden="" type="text" name="tags" /><input type="submit" name="submit" id="button" value="S&oslash;g" />
 
  </form>';
  ?>

Koden:
if (isset($_POST['tags'])) {

    $sogeord = $_POST['tags'];
 
    $query = mysqli_query($hellestrik, "select * from vare where vare like '%" . $sogeord . "%'") or die(mysqli_error($hellestrik));
    if (mysqli_num_rows($query) >= 0) {
        echo "<strong>Fandt følgende:</strong><br /><br />";
        while ($foo = mysqli_fetch_object($query)) {
            echo '<a href="vare.php?t='. $foo->id .'&u=1&privat='.$_GET['privat'].'&prisid='.$_GET['prisid'].'&uk='. $foo->id .'&t='. $foo->id .'&vare='.$foo->vare .'&id='. $foo->id .'&idmain='. $foo->id .''.$_GET['privat'].'" style=font-weight:bold;>'.$foo->vare . '</a>' . $foo->tekst . '<br>';
        }
    } else {
        echo "Ingen vare var at finde.";
    }
}

Håber det giver dig et overblik.
Avatar billede arne_v Ekspert
17. marts 2016 - 21:20 #4
Saa dy har et hidden felt tags uden en vaerdi og efter submit saa henter du vaerdien som formentlig stadig er blank og derfor finder du alt.
Avatar billede Morten Professor
18. marts 2016 - 09:05 #5
Hej arne_v

Fandet fejlen ved hjælp af en youtube film.

Kilde: https://www.youtube.com/watch?v=kGGy4eGFEsg

Vil du smide et svar?

Med venlig hilsen
Morten
Avatar billede arne_v Ekspert
18. marts 2016 - 18:36 #6
ok
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