xtin Skrevet 24. mars 2007 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
Anders Moen Skrevet 24. mars 2007 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.
mske Skrevet 24. mars 2007 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-
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å