Gå til innhold

Hjelp til Søkesystem


Anbefalte innlegg

Hei

 

Jeg sitter og prøver å lage en side som det skal være mulig å bruke for å kunne søke gjennom en database.

 

Jeg prøver meg fram da jeg holder på og lære meg dette. Det jeg nå prøver å få til er å kunne bruke ordet som blir skrevet inn i et tekstfelt videre i ett databasesøk.

 

Koden jeg har nå er:

<?php

$sok =$_POST['sok'];

echo $sok;

include "connect.php";

$sql ='SELECT * FROM Test WHERE Navn = "$sok"';

 

$res=mysql_query($sql, $connect);

while($ro = mysql_fetch_row($res))

{

echo $ro[0], " er ", $ro[1];

}

?>

 

$sok =$_POST['sok'];

henter ut fra et form lenger oppe. Dette virker da

echo $sok; skriver ut det rette ordet.

 

Men jeg får ikke opp noen treff i databasen.

Harkoder jeg det til

$sql ='SELECT * FROM Test WHERE Navn = "Kristin"';

Virker koden helt fint.

 

Jeg regner med at det har noe med konvertering og strenger å gjøre.

 

har og prøvd koden

 

$sql ='SELECT * FROM Test WHERE Navn = " . $sok . " ';

men det virket heller ikke *(kom ikke feilmelding)

 

Er det noen som kan hjelpe meg med dette problemet?

 

Kristin

Lenke til kommentar
Videoannonse
Annonse

<form action="" method="get">
<input type="text" name="check" value="<?php echo "" . $_GET['check'] . ""; ?>" size="20" />
<input type="submit" name="submit" value=" Search " />
</form>


<?php
include "connect.php";

if (isset($_GET[submit])) {
$check = mysql_real_escape_string($_GET['check']); // Trenger man egentlig mysql_real_escape_string rundt den her? 

echo "Du søkte på: {$check} <br />";
echo "<br />";
echo "<br />";
echo "<b>You got";
$result = mysql_query("SELECT * FROM tabell WHERE navn LIKE '%$check%'");
echo " " . mysql_num_rows($result) . " result(s).</b>";
echo "<br />
<br />";
while ($row = mysql_fetch_array($result)) {
echo stripslashes($row['bruker']);
echo '<br />';
}
}
?>

 

Der har du i hvertfall så du kan søke i databasen.

Lenke til kommentar

Som kan sees i koden over , så må du nesten bruke "LIKE" istedenfor "=". f. eks

 

<?php

$query = mysql_query("SELECT * FROM tabell WHERE sok LIKE '%$sok%'");
while ($row = mysql_fetch_array($query))
{
echo $row['sok'];
}

?>

Endret av -Magne-
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...