Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

PHP og mySQL - at lave flere searchselections.

Af Ny på siden Birkmand | 26-06-2013 14:52 | 3732 visninger | 12 svar, hop til seneste
Hey med jer. Jeg ved ikke om emnet har været på bane før, men jeg har altså følgende problem: Jeg har en database med nogle emner, den består af to rækker, en med emnenavnet feks "martin" og en med emne text/beskrivelse. Jeg har på min hjemmeside, lavet en søgefunktion, der kan søge i emner, og det fungere også fint nok, men jeg vil gerne lave min søgefunktion lidt mere dynamisk. Til at sarte med, vil jeg gerne have at den kan søge på feks. gradbøjning af emnerne feks "martin, martinerne, martirnes" osv, men hvis jeg indsætter flere emner og adskiller dem med komma eller punktum, er hele navnet på emnet feks. "martin, martinerne" og det skal jeg altså søge på, for at finde emnet. Kan man gøre noget i databasen så den sepererer emnerne, så jeg kan søge på forskellige ting og finde samme text, eller skal jeg fikse det i PHP koden, så den er mere afslappet med hvad den sender afsted og vil have igen?. Jeg håber jeg har forklaret mig forståeligt, det er lidt svært at formulere det her, synes jeg. Jeg benytter One.com og den database og databaseadministrator der følger med.
--
#1
mrKayne
Giga Supporter
26-06-2013 14:56

Rapporter til Admin
Eventuelt spørg på exp.dk De er lige mere vant til den her slags spørgsmål :)
--
#2
stallemanden
HOL Moderator
26-06-2013 15:21

Rapporter til Admin
Du må godt vise os, hvordan du laver søgningen i din database som det er nu. Brug Pastebin.com
--
+1 indlæg = *PUFF*
#3
TommyB
Maxi Supporter
26-06-2013 15:22

Rapporter til Admin
Du kan lave et ekstra felt i din tabel til alle søgematch, her smider du så en streng med alle navne og komma imellem, og så søger du bare i den. På den måde ændrer du ikke på selve navnet. Du kan også søge med en funktion der hedder soundex(), som i korte træk søger efter noget der starter ens og muligvis udtales på samme måde. - Den er dog meget upræcis. Link : http://dev.mysql.com[...]
--
#4
TommyB
Maxi Supporter
26-06-2013 15:30

Rapporter til Admin
..eller endnu mere simpelt, kun søg på de første 4 bogstaver ?
--
#5
Birkmand
Ny på siden
26-06-2013 15:53

Rapporter til Admin
#2 - kan man indsætte en kasse med pastebin?. Jeg prøver: Håber det dur. Jeg har tilføjet rækken "begreb" der muligvis skal anvendes til alternative søgevalues. 3# Jeg synes jeg har prøvet at dele de nye values op med kommaer, punktummer osv. Problemet jeg oplever er, at, hvergang jeg tilføjer en gradbøjning feks "regnvejr, regnvejret" så skal jeg søge på hele sætningen i gåseøjnene for at få noget ud af søgningen. Jeg kunne ogsågodt tænke mig at man kun skulle søge på feks "regn" og at den så ville finde regnvejr eller andre lignende resultater, men det virker som om, at min søgefunktion isåfald vil begynde at blive lidt kompleks. #3 - Den der funktion ser meget interessant ud, men jeg er ikke interesseret i at man kan søge "rgenn" og finde regnvejr. Kun at man kan korte søgeordet ordet ned. Og, tak for svarene!
--
#6
Birkmand
Ny på siden
26-06-2013 15:57

Rapporter til Admin
#4 Tommy jeg tror jeg er med. Men som jeg har sat den nu, finder den kun et resultat, hvis jeg indtaster hele det begreb jeg vil finde. Som jeg lige kan regne ud on the spot, vil alle mine problemer blive løst, hvis jeg kunne lave min søgemaskine, så den kun behøves at få indtastet noget det emne den skal finde.
--
#7
Birkmand
Ny på siden
26-06-2013 15:58

Rapporter til Admin
Jeg troede man kunne sætte kode ind med "kode" funktionen?, altså: min kode
--
#8
Birkmand
Ny på siden
26-06-2013 15:59

Rapporter til Admin
Her er ihvertfald linket til pastebin: http://pastebin.com[...]
--
#9
TommyB
Maxi Supporter
26-06-2013 16:00

Rapporter til Admin
Birkmand #6 : Nej, du bruger LIKE til at søge med, og så %-tegnet som wildcard. searchfield : "æske, æsker, æskerne" sql : select * from tabel where searchfield like '%æsker%'
--
#10
stallemanden
HOL Moderator
26-06-2013 16:02

Rapporter til Admin
#8 Altså, det du viser der, er ikke meget med en søgning at gøre. Det er bare et opslag. Hvis du skal have noget der minder bare LIDT om en søge funktion, så skal du bruge fx. LIKE
--
+1 indlæg = *PUFF*
#11
Birkmand
Ny på siden
26-06-2013 16:54

Rapporter til Admin
#9 + #10 - OK, fedt. Jeg fikser det med like istedet. Den anede jeg ikke eksisterede. Med wildcard dur det hele som det skal, tusinde tak for hjælpen!
--
#12
TommyB
Maxi Supporter
26-06-2013 21:11

Rapporter til Admin
Velbekomme. Det er dog meget grundlæggende, så du kan med fordel google nogle mysql tutorials.
--

Opret svar til indlægget: PHP og mySQL - at lave flere searchselections.

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning