jic Skrevet 20. november 2004 Del Skrevet 20. november 2004 Hei jeg har en tabell. Jeg vil ha en søk. Har kategorier fra midi,wall og video. Hvordan kan jeg lage søk for det. Lenke til kommentar
robgar Skrevet 20. november 2004 Del Skrevet 20. november 2004 du kan ha en select og et tekstfelt som i en form som går til et PHP skript med følgende spørring: $soke_ord = $_POST['sok']; $soke_kat = $_POST['kat']; $query = "SELECT `kollone_navn_med_tekst_som_skal_sokes_etter` * FROM `tabbell_navn` WHERE `kategori` = '" . $soke_kat . "' LIKE '%" . $soke_ord . "';"; $query = mysql_query($query); $i = 0; while ($row = mysql_fetch_array($query)) { print $i++; } echo "Søket resulterte i $i resultater \n"; Lenke til kommentar
robgar Skrevet 21. november 2004 Del Skrevet 21. november 2004 Her er litt mer hjelp, (Er den query'en riktig ? er litt usikker på SELECT `t` * FROM...) <!-- Formen --> <form action="" method="post"> Søk etter: <input type="text" name="soke_ord"> <br> I kategorien: <select name="soke_kat"> <option value="video" selected> Video </option> <option value="midi"> Midi </option> <option value="wall"> Wall </option> </select> <br> <input type="submit" value="Sok"> </form> Så php delen, gjerne i samme fil, men om du tar den i en annen må du skrive navnet til den filen i action feltet på form taggen over. $soke_ord = $_POST['soke_ord']; $soke_kat = $_POST['soke_kat']; if (empty($soke_ord) || empty($soke_kat)) { exit; } $query = "SELECT `kollone_navn_med_tekst_som_skal_sokes_etter` * FROM `tabbell_navn` WHERE `kategori` = '" . $soke_kat . "' LIKE '%" . $soke_ord . "';"; $query = mysql_query($query); $i = 0; while ($row = mysql_fetch_array($query)) { print $row['navn_paa_kollonne_med_tekst'] . "<br> \n"; $i++; } echo "Søket resulterte i $i resultater \n"; Lenke til kommentar
robgar Skrevet 21. november 2004 Del Skrevet 21. november 2004 Her er det jeg tror kan gjøre susen Form.html <form action="phpdelen.php" method="post"> <table width="359" border="0"> <tr> <td width="44%"> </td> <td width="56%"> </td> </tr> <tr> <td><div align="right">Søk etter: </div></td> <td><input type="text" name="soke_ord"></td> </tr> <tr> <td><div align="right">I kategorien:</div></td> <td><select name="soke_kat"> <option value="alle" selected> Alle kategorier</option> <option value="video"> Video </option> <option value="midi"> Midi </option> <option value="wall"> Wall </option> </select></td> </tr> </table> <br> <br> <input type="submit" value="Sok"> </form> phpdelen.php <? $kat = $_POST['soke_kat']; $sok = $_POST['soke_ord']; /* Putt inn Database tilkoblingene her */ if ($kat == "alle") { // NB! Tabbel navn!! $query = "SELECT * FROM `TABBEL_NAVN` WHERE `navn` LIKE '$sok%';"; } else { $query = "SELECT * FROM `TABBEL_NAVN` WHERE `kat` LIKE '%$kat%', `navn` LIKE '$sok%';"; } $query = mysql_query($query); print "Søket: $sok, i kategorien: $kat <br> <br> \n"; for ($i=0;$row = mysql_fetch_array($query);$i++) { $navn = $row['navn']; $kategori = $row['kat']; print $navn . " Kategori:" . $kategori . "<br> \n"; } print "Fant $i treff"; ?> Lenke til kommentar
Nervetattoo Skrevet 21. november 2004 Del Skrevet 21. november 2004 Og den enkleste metoden, som også gir et ganske bra søk: phpDig Lenke til kommentar
???????? Skrevet 21. november 2004 Del Skrevet 21. november 2004 (endret) En MEGET kjekk funksjon er mysql_escape_string() Endret 21. november 2004 av ???????? 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å