MYSQL LIKE,CONTAINS vraagje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Embedded Software Developer

Functie omschrijving Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar een Embedded Software developer. Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij enthousiast en een echte team player? Lees dan snel verder en laat wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot aantal creatieve en ambitieuze ontwikkelaars. Ze

Bekijk vacature »

Frontend Developer - Leeuwarden

Frontend Developer – Leeuwarden Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Java (Java EE) Developer

In het kort Werken als Java developer betekent werken aan complexe IT projecten bij onder meer een internationaal containeroverslag bedrijf. Zo sturen we apparaten en eindgebruikers aan d.m.v. onze custom-made software oplossing, die dagelijkse vele duizenden containers verwerkt. Denk aan systemen die volautomatische kranen aansturen en op afstand bedienen, de volledige afhandeling van containernummerherkenning bij het laden en lossen van zeeschepen of het tonen van instructies aan de chauffeurs van ruim 300 straddle carriers. En dat allemaal redundant, robuust en in een dynamische 24/7 omgeving! Jij versterkt ons ontwikkelteam en gaat aan de slag met oa. Java i.c.m. Spring (Boot),

Bekijk vacature »

Front-end Angular developer

Functie In jouw rol als Front-End developer werk je samen met de backend developers om middels tweewekelijkse sprints het platform naar een hoger niveau te tillen. Hiernaast heb je affiniteit met data en werk je graag samen met het team om de gegevensintegriteit en -beveiliging te waarborgen, om ervoor te zorgen dat de gebruiker wereldwijd de beste SaaS-services heeft. Deze organisatie heeft meer dan 100 mensen in dienst, waarvan er 45 in Nederland werken. Het ontwikkelteam bestaat uit 10 mensen en is verdeeld in 2 scrumteams. Het eerste team bestaat uit Java en Scala ontwikkelaars. Het tweede team, waar jij

Bekijk vacature »

.NET developer

Functie Als .NET developer wordt jij onderdeel van ons ICT team. In dit multidisciplinaire team ben jij samen met onze senior .NET ontwikkelaar en medior .NET ontwikkelaar verantwoordelijk voor ons ERP systeem. In dit systeem (Navision) ga jij leren ontwikkelen. Wij bieden jou dan ook een gedegen opleiding aan, samen met de ondersteuning van onze Senior .NET developer. Daarnaast ga jij aan de slag met ons portaal geschreven in Sharepoint. Verder ben jij verantwoordelijk voor EDI verkeer en het ontwikkelen binnen het ERP systeem en andere toepassingen en rapportages. Van jou wordt verwacht dat jij het proces goed leert kennen

Bekijk vacature »

Full Stack Developer

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail; Verantwoordelijk voor de front-end werkzaamheden; Naast de front-end werk je ook aan de backend. Hier ga je werken Als Full Stack Developer komt je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development

Bekijk vacature »

Fullstack developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een andere uitdaging? Voor een erkende werkgever in de omgeving van Breda zijn wij op zoek naar een Fullstack developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Back end developer Digital Agency

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een ontwikkelteam met 15 developers en twee testers. Samen zijn jullie verantwoordelijk voor financiële applicaties met meer dan 50.000 gebruikers. Een deel van het team is verantwoordelijk voor de webapplicaties van deze organisatie. Ook zijn er twee app ontwikkelaars werkzaam in het team die zich focussen op de mobiele applicatie. Als .NET ontwikkelaar ga jij aan de slag met de webapplicaties van deze organisatie. Hierbij maak jij o.a. gebruik van C# .NET, ASP.NET, T-SQL, Angular en TypeScript. De nadruk van jouw functie ligt wel op de backend van de applicatie. Wat jouw functie

Bekijk vacature »

IoT Developer

Ben jij innovatief, heb jij passie voor energie en ben je data gedreven? Bouw dan mee aan IoT binnen Bredenoord. Samen met een gedreven team werk jij aan mooie technische en innovatieve oplossingen. Wat houdt de functie van IoT Developer in? Binnen Bredenoord zijn wij momenteel volop in ontwikkeling met ons IoT platform. Als uitbreiding van ons team zijn wij op zoek naar een IoT Developer. Je zal in projectverband meehelpen met het implementeren van IoT vraagstukken binnen Bredenoord. Als IoT Developer op onze R&D-afdeling word je verantwoordelijk voor het verder inrichten en beheren van ons nieuwe IoT platform. Dat

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Java Developer

Functie Wat ga je doen als Java developer? Jij komt terecht binnen een informeel team waarin je verantwoordelijk bent voor de backend systemen voor grote klanten als Ziggo en KPN. Als Medior Java developer werk je in teamverband en soms individueel. Gedurende de werkweek zal je veelvuldig sparren met je collega’s voor een goede implementatie van de software. Ben jij een echte Java developer? Ben je geïnteresseerd in de nieuwste technieken en de laatste ontwikkelingen? Dan ben je hier aan het juiste adres! Eisen Wat wordt er van jou verwacht? • Minimaal HBO/WO denk- en werkniveau; • Analytisch sterk, open

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »
Furio Scripting

Furio Scripting

18/10/2017 13:26:44
Quote Anchor link
Beste forumleden,

Ik wil graag kunnen zoeken op de bedrijfsnaam op basis wat de eindgebruiker invoert.

IK heb een bedrijf genaamd Emtek Ergonomics.

Als ik zoek op Emtek vind die dit bedrijf wel maar als ik zoek op bijv: emtek-test of koekie-emtek vind die helemaal niets.

Welke functie zoekt gewoon op alles zodat die altijd kijkt of akarakters voorkomen in de hele string in de klom?

Toevoeging op 18/10/2017 13:31:40:

Hier vind ook niets op:

SELECT * FROM bedrijven WHERE LOCATE('emtek-ergonomics---bureaustoel-op-maat',bedrijfsnaam)

Maar dit vind die wel:

SELECT * FROM bedrijven WHERE LOCATE('emtek',bedrijfsnaam)
 
PHP hulp

PHP hulp

27/04/2024 01:48:12
 
Rob Doemaarwat

Rob Doemaarwat

18/10/2017 14:09:07
Quote Anchor link
Quote:
Welke functie zoekt gewoon op alles zodat die altijd kijkt of akarakters voorkomen in de hele string in de klom?


De functie die je zelf schrijft ;-)

Hak je hele zoek-string in stukken ("woorden"), bijvoorbeeld met preg_split('/\\W+/',$search)

Vervolgens zoek je alle bedrijven die op tenminste van een van deze woorden een LIKE match heeft. Degene met de meeste matches (woorden) toon je bovenaan.
 
Thomas van den Heuvel

Thomas van den Heuvel

18/10/2017 15:43:02
Quote Anchor link
De eerste LOCATE() levert waarschijnlijk niets op omdat LOCATE() exacte matches uitvoert, en blijkbaar niets (exact) kon matchen.

Wat je zou kunnen doen:
- volg de suggestie van @Rob op
- gebruik fulltext searches, dit houdt wel in dat je goed nadenkt over hoe je indexeert en hoe je dit opzet
- maak gebruik van externe oplossingen om text te indexeren
- verander de manier waarop je zoekt, introduceer bijvoorbeeld keywords/tags, en laat je zoekfunctionaliteit hier mee werken, of maak gebruik van een soort van Faceted Search waarbij je een collectie data steeds specifieker filtert
 
Furio Scripting

Furio Scripting

18/10/2017 15:44:35
Quote Anchor link
Rob Doemaarwat op 18/10/2017 14:09:07:
Quote:
Welke functie zoekt gewoon op alles zodat die altijd kijkt of akarakters voorkomen in de hele string in de klom?


De functie die je zelf schrijft ;-)

Hak je hele zoek-string in stukken ("woorden"), bijvoorbeeld met preg_split('/\\W+/',$search)

Vervolgens zoek je alle bedrijven die op tenminste van een van deze woorden een LIKE match heeft. Degene met de meeste matches (woorden) toon je bovenaan.


Kan je hier een voorbeeld voor geven in code?

$input = "emtek-ergonomics---bureaustoel-op-maat"

Als iemand zoekt op iets wat spaties heb vervang ik deze al door "-" dus hier kan ik de woorden op splitten vermoed ik.

Hoe gaat dit er dan in de sql query uitzien?
 
Rob Doemaarwat

Rob Doemaarwat

18/10/2017 15:50:57
Quote Anchor link
Stel ik zoek op twee woorden: "foo" en "bar" (voorheen "foo---bar")
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
select * from bedrijven
where bedrijfsnaam like "%foo%" or bedrijfsnaam like "%bar%"
order by if(bedrijfsnaam like "%foo%",0,1) + if(bedrijfsnaam like "%bar%",0,1)

(je sorteert dus eigenlijk op de bedrijfsnaam met de laagste score = meeste matches)
 
Furio Scripting

Furio Scripting

18/10/2017 17:38:49
Quote Anchor link
Top bedankt voor de reacties, nog 1 vraagje:

Hoe hak ik mijn string netjes in stukken en kan ik deze eenvoudig in sql vergelijken.

Stel ik heb een lange string van: woord1-woord2-woord3-woord4 etc...

Ik kan natuurlijk niet in mijn mysql query 10x OR like zetten?

str_replace("-"," ",$string) geeft mij alle woorden los van elkaar maar hoe dan verder?
 
Rob Doemaarwat

Rob Doemaarwat

18/10/2017 18:05:56
Quote Anchor link
Je kunt daar prima 10x OR like zetten. Nog wel meer ook. Je moet het alleen op basis van je (aantal) woorden doen. Dus als je 5 woorden hebt, plak voeg je 5x een like aan je WHERE toe, en 5x een if() aan je ORDER BY. Vervolgens plak je de hele boel samen ala bovenstaande SQL en uitvoeren maar.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
$where = $order = [];
foreach(preg_split('/\\W+/',$string) as $word){
  $where[] = ...
  $order[] = ...
}
$sql = '
  select * from ...
  where ' . implode(' or ',$where) . '
  order by ' . implode('+',$order);


Toevoeging op 18/10/2017 18:12:19:

Ter info: die preg_split('/\\W+/',$string) splitst de $string op karakters die *niet* "in een woord" zitten (let op: hoofdletter W). Met karakters die "in een woord" zitten bedoelt een regex a-z, A-Z, 0-9, en "_" (http://www.regular-expressions.info/shorthand.html). De $string zal dus in een array gebroken worden op alle tekens (1 of meer) die daar niet in zitten. Met $string = "bla-bla bla----bla * * bla" levert dit dus een array op met 5x "bla".
Gewijzigd op 18/10/2017 18:15:10 door Rob Doemaarwat
 
Furio Scripting

Furio Scripting

19/10/2017 13:01:38
Quote Anchor link
Beste Rob,

Bedankt voor de code, ik heb hem even getest maar denk dat ik wat fout doe:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</php
 $where = $order = [];
foreach(preg_split('/\\W+/',$input) as $word)
{
  $where[] = $word;
  $order[] = $input;
}

$q = '
  select * from bedrijven
  where ' . implode(' or ',$where) . '
  order by ' . implode('+',$order);
    
     echo $q;
?>



Resultaat: select * from bedrijven where emtek or ergonomics or bureaustoel or op or maat order by emtek-ergonomics---bureaustoel-op-maat+emtek-ergonomics---bureaustoel-op-maat+emtek-ergonomics---bureaustoel-op-maat+emtek-ergonomics---bureaustoel-op-maat+emtek-ergonomics---bureaustoel-op-maatUnknown column 'emtek' in 'where clause'
 
Thomas van den Heuvel

Thomas van den Heuvel

19/10/2017 15:45:38
Quote Anchor link
Is het bovenstaande niet precies wat fulltext searches doen, maar dan geïndexeerd? :p
 
Furio Scripting

Furio Scripting

19/10/2017 18:39:01
Quote Anchor link
Hi Thomas,

Moet je als je full text search wilt gebruiken elke keer de tabel updaten of kan je eenmalig zeggen: ALTER TABLE bedrijven
ADD FULLTEXT(bedrijfsnaam)
 
Rob Doemaarwat

Rob Doemaarwat

19/10/2017 21:49:52
Quote Anchor link
Nadeel van fulltext is dat je alleen op hele woorden zoekt, of in ieder geval vanaf het begin ("bar*" vindt niet "foobar"). Met een LIKE zoek je gewoon in het hele woord (begin/midden/eind: "%bar%" vindt "foobar" wel). Evt. kun je daar met je ORDER BY "score" rekening mee houden door
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
if(
  bedrijfsnaam LIKE "% foo %" OR
  bedrijfsnaam LIKE "foo %" OR
  bedrijfsnaam LIKE "% foo",
  10,
  if(bedrijfsnaam LIKE "%foo%",1,0)
)
te doen (= 10 punten bij een full-word match, 1 punt voor een "in woord" match).
Gewijzigd op 19/10/2017 21:50:23 door Rob Doemaarwat
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.