19. juni 2004 - 22:08
Der er
8 kommentarer
Lave søgefunktion til mysql-udtræk
Hej. Hvordan kan jeg lave så jeg kan søge igennem en tabel i en mysql-database, hvor når bestemt er givet. $seek = $_REQUEST['q']; / søgeord i adresselinjen Noget ala. ("SELECT nyhed FROM ircnyheder WHERE nyhed ="$seek" ") problemer at at så skal hele nyhed være ligmed $seek.. findes der en smart måde at omgå det på ?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Slettet bruger
19. juni 2004 - 22:16
#1
("SELECT nyhed FROM ircnyheder WHERE nyhed LIKE '%$seek%'")
Koden ser indviklet ud men læs øverst.. Den skulle gerne virke.. <? //Ret følgende $tabel = 'ravenstar'; //tabellen den skal søge i .ravenstar $col = 'ravenstar'; // hvilken kollone den skal kigge i feks. tekst .ravenstar $host = 'ravenstar'; //din host .ravenstar $user = 'ravenstar'; // dit brugernavn .ravenstar $kode = 'ravenstar'; // din kode .ravenstar $name = 'ravenstar'; // dit brugernavn igen . ravenstar //Ret IKKE i nedenstående! ?> <? $conn = mysql_connect("$host", "$user", "$kode");mysql_select_db("$name"); ?> <meta name="generator" content="Namo WebEditor v5.0(Trial)"> <body background="Unavngivet.bmp"> <table width="100%" cellspacing="0" cellpadding="2"><tr> <td><font face="Tahoma" size="2" color="black"> </font></td> <td><font face="Tahoma" size="2" color="black"> </font></td> <td><font face="Tahoma" size="2" color="black"> </font></td> </tr> <tr><td><font size="2" face="Tahoma" color="black"><u>Indtast søgeord:</u></font></td><form action="soeg.php?find=yes" method="POST"><td><font face="Tahoma" size="2" color="black"><input type="text" name="soeg" class="felt"></font></td><td><font face="Tahoma" size="2" color="black"> </font></td></tr><tr><td><font face="Tahoma" size="2" color="black"> </font></td><td><font face="Tahoma" size="2" color="black"><select name="soegning" class="optionfelt" size="1"><option selected value="1" class="felt">Starter med</option><option value="2">Indeholder</option><option value="3">Præcis er</option></select> <input type="submit" class="but" value="Søg"></font></td><td><font face="Tahoma" size="2" color="black"> </font></td></form></tr></table><font face="Tahoma" size="2" color="black"><br><br><?if($find == "yes") {?></font><table width="100%" cellspacing="0" cellpadding="2"><?if($soegning == "1") {$type = "$soeg%";$result = mysql_query("select * from $tabel where $col like '$soeg%'");} elseif($soegning == "2") {$type = "%$soeg%";$result = mysql_query("select * from $tabel where $col like '%$soeg%'");} elseif($soegning == "3") {$type = "$soeg";$result = mysql_query("select * from $tabel where $col like '$soeg'");}$nr = mysql_num_rows($result);echo "<tr><td style=\"border-bottom: 1px solid black;\" colspan=\"3\"><font size=\"1\">Søgeresultat: [<b>$nr</b>] bruger(e) fundet!</font></td></tr>";$antal = 0;if ($nr > 0) {$result2 = mysql_query("select * from $tabel where $col like '$type'");while($row1 = mysql_fetch_array($result2)) {?><font size="1"><?$antal++;?><tr><td><font size="2" face="Tahoma" color="black"><? echo $antal; ?>.</font></td><td width="100%"> <a href="seinfo.php?user=<? echo $row1[$col]; ?>"><font size="2" face="Tahoma" color="black">info</font></a><font size="2" face="Tahoma" color="black"> <? echo $row1[$col]; ?></font></td><td><font face="Tahoma" size="2" color="black"> </font></td></tr><?}}?> </table> <font face="Tahoma" size="2" color="black"><table><?}?></font> </font>
wow.. i først omgang så virker el_barto's kode fint.. jeg prøver din (ravenstar) senere. Mange tak for forslagene.
Min er mere andvenceret ;)
Udover at være næsten ulæselig er forskellen ikke blot at du lader brugeren bestemme om der skal søges på "søgeord%", "%søgeord%" eller "søgeord" ?
en rengjord udgave af ravenstars script.. giver lidt mere overskulighed. <html> <body> <table width="100%"> <tr> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> <u>Indtast søgeord:</u> </td><form action="soeg.php?find=yes" method="POST"> <td> <input type="text" name="soeg" class="felt"> </td> <td> </td> </tr> <tr> <td> </td> <td><select name="soegning" class="optionfelt" size="1"> <option selected value="1" class="felt">Starter med</option> <option value="2">Indeholder</option> <option value="3">Præcis er</option> </select> <input type="submit" class="but" value="Søg"> </td><td> </td> </form> </tr> </table> <br><br> <?if($find == "yes") {?> <table width="100%" cellspacing="0" cellpadding="2"> <? if ($soegning == "1") {$type = "$soeg%";$result = mysql_query("select * from $tabel where $col like '$soeg%'");} elseif ($soegning == "2") {$type = "%$soeg%";$result = mysql_query("select * from $tabel where $col like '%$soeg%'");} elseif($soegning == "3") {$type = "$soeg";$result = mysql_query("select * from $tabel where $col like '$soeg'");} $nr = mysql_num_rows($result); echo ' <tr> <td style="border-bottom: 1px solid black;">Søgeresultat: [<b>$nr</b>] bruger(e) fundet!</td> </tr> '; $antal = 0;if ($nr > 0) {$result2 = mysql_query("select * from $tabel where $col like '$type' "); while($row1 = mysql_fetch_array($result2)) {?> <?$antal++;?><tr><td><? echo $antal; ?>. </td> <td width="100%"> <a href="seinfo.php?user=<? echo $row1[$col]; ?>"> Info</a> <? echo $row1[$col]; ?> </td> <td> </td> </tr> <? }; }; }?> </table> </body> </html> Jeg har dog stadig ikke testet det
el_barto kom først med den rigtige løsning, og jeg havde ikke brug for noget mere advanceret end det... så læg bare et svar el_barto
Slettet bruger
16. november 2004 - 08:44
#8
glemte at svare, men det er vist lukketid :)
Vi tilbyder markedets bedste kurser inden for webudvikling