Avatar billede thedeathart Nybegynder
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å ?
Avatar billede Slettet bruger
19. juni 2004 - 22:16 #1
("SELECT nyhed FROM ircnyheder WHERE nyhed LIKE '%$seek%'")
Avatar billede ravenstar Nybegynder
19. juni 2004 - 22:17 #2
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">&nbsp;</font></td>
        <td><font face="Tahoma" size="2" color="black">&nbsp;</font></td>
        <td><font face="Tahoma" size="2" color="black">&nbsp;</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">&nbsp;</font></td></tr><tr><td><font face="Tahoma" size="2" color="black">&nbsp;</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>&nbsp;<input type="submit" class="but" value="Søg"></font></td><td><font face="Tahoma" size="2" color="black">&nbsp;</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">&nbsp;</font></td></tr><?}}?>
</table>
<font face="Tahoma" size="2" color="black"><table><?}?></font>
</font>
Avatar billede thedeathart Nybegynder
19. juni 2004 - 22:22 #3
wow.. i først omgang så virker el_barto's kode fint..
jeg prøver din (ravenstar) senere.

Mange tak for forslagene.
Avatar billede ravenstar Nybegynder
19. juni 2004 - 22:23 #4
Min er mere andvenceret ;)
Avatar billede dennismp Nybegynder
19. juni 2004 - 22:29 #5
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" ?
Avatar billede thedeathart Nybegynder
19. juni 2004 - 22:55 #6
en rengjord udgave af ravenstars script.. giver lidt mere overskulighed.

<html>
<body>
<table width="100%">
<tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</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>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</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>
&nbsp;
<input type="submit" class="but" value="Søg">
</td><td>
&nbsp;
</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>
&nbsp;
</td>
</tr>
<? }; }; }?>
</table>
</body>
</html>


Jeg har dog stadig ikke testet det
Avatar billede thedeathart Nybegynder
22. juni 2004 - 19:19 #7
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
Avatar billede Slettet bruger
16. november 2004 - 08:44 #8
glemte at svare, men det er vist lukketid :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester