xtin Skrevet 24. mars 2007 Del Skrevet 24. mars 2007 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
Anders Moen Skrevet 24. mars 2007 Del Skrevet 24. mars 2007 <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
mske Skrevet 24. mars 2007 Del Skrevet 24. mars 2007 (endret) 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 24. mars 2007 av -Magne- Lenke til kommentar
xtin Skrevet 25. mars 2007 Forfatter Del Skrevet 25. mars 2007 Tusen takk begge to!! Dette virket! Lenke til kommentar
Anders Moen Skrevet 25. mars 2007 Del Skrevet 25. mars 2007 Så bra da Hehe...lykke til videre Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå