MYSQL LIKE,CONTAINS vraagje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

Software Ontwikkelaar

Functie omschrijving Voor een echt familiebedrijf in de omgeving van 's-Hertogenbosch ben ik op zoek naar een Software Developer. Jij gaat in de functie van Software Developer werken met C# en .NET framework Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Deze organisatie is

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 »

Junior .NET Developer

Dit ga je doen Als junior .NET Developer lever je met jouw oplossingen direct een bijdrage aan de bedrijfsprocessen van de klanten. Werkzaamheden waar jij je zoal mee bezig houdt zijn; Het ontwikkelen, onderhouden en optimaliseren van de draaiende platforms van de klanten; Softwareontwikkeling middels C#, .NET; Klantcontact om de wensen te bespreken en uit te werken; Optimaliseren van de (huidige) bedrijfsprocessen; De IT-afdeling bestaat uit 30 personen verdeeld over 3 teams. Het team waar je in terecht komt bestaat uit ongeveer tien man. Het is een team wat bestaat uit betrokken collega’s, waar iedereen bereidt is om elkaar te

Bekijk vacature »

Java Developer

Dit ga je doen Als Java Developer ben je verantwoordelijk voor: Het ontwikkelen van nieuwe en bestaande webservices; Het uitbreiden van functionaliteiten binnen de producten- en dienstenportefeuille; Het werken aan gegevensuitwisseling met bijvoorbeeld SOAP; Testen van frameworks met gebruik van UNIT en Selenium. Hier ga je werken De organisatie waar je komt te werken is een semi-overheidsinstelling, gesitueerd in Utrecht en zorgt voor een goede samenwerking tussen verschillende overheidsinstanties. Het is een familiaire club die gaat voor kwaliteit en langdurige relaties. Zo zorgen zij ervoor dat er op grote schaal vertrouwelijke informatie tussen verschillende overheidsinstellingen wordt uitgewisseld. Hun werk zorgt

Bekijk vacature »

Front-end developer (medior/senior)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Programmeren van zelflerende robots Werken op kantoor en testen in de bedrijfshal Je krijgt verantwoordelijkheid, vrijheid en je mag werken naar eigen inzicht De organisatie Hier ga je aan de slag Een bedrijf dat innovatieve robottoepassingen ontwerpt en bouwt voor onder andere de staal industrie, energie- bouw- en agrarische sector. De robots die vaak in combinatie met diverse randapparatuur geleverd worden vormen een totaaloplossing voor de klant. Dit zijn klanten over de hele wereld, van België en Duitsland tot China, India, maar ook in Nederland. Projecten waar momenteel aan wordt

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP Developer ga jij aan de slag met uitdagende software projecten. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Deze software bouw je vooral in PHP en specifiek Laravel. Dit framework kent dus geen geheimen voor jou. De software die jij gaat ontwikkelen is heel divers, van urenregistratiesystemen tot compleet geautomatiseerde tools. In deze veelzijdige functie ga jij je zeker niet vervelen, elke dag bestaat weer uit nieuwe uitdagingen. Bedrijfsprofiel Deze

Bekijk vacature »

Software developer

Functie Momenteel zijn ze op zoek naar een Software developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP),

Bekijk vacature »

Webshop beheerder / Fullstack developer

Functie omschrijving Wij zijn op zoek naar een full stack developer die zich bezig gaat houden met het uitbreiden en verbeteren van de online webshop. Een onderdeel van jouw werkzaamheden is naast het beheren van de webshop ook om de processen en structuren te stroomlijnen. Ben jij een leergierige en ambitieuze junior developer met technische skills? Ben jij op zoek naar een werkgever die jouw de volledige vrijheid geeft om jezelf tot een volwaardige senior te ontwikkelen? Lees dan snel verder! Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator

Bekijk vacature »

Full stack Javascript ontwikkelaar

Functie Benieuwd hoe jouw dag eruit ziet? Je komt binnen rond een uur of 10 en dat start je met de morning call. Dit doen we vanaf het hoofdkantoor of op het lab, ligt eraan welk project je mee bezig bent. Na de call en het verdelen van de tickets ga je met je team aan de slag. Rond een uur of 12 is er een goede lunch en ga je smiddags weer lekker door met je werk. De ene keer maak jij een game voor een groot merk om de interactie tussen product en eindgebruiker te vergroten. De andere

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het development team. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met

Bekijk vacature »

Medior front-end developer gezocht (€3.300 -

Functie Wat ga je doen? Jij als front-end developer gaat werken binnen de teams van/voor onze klant. Je werkt in een team met starters en ervaren ontwikkelaars met allemaal 1 overeenkomst; passie voor het vak. Maak je een fout? Geen probleem, leer ervan en ga dan weer door. Door de variëteit aan werk kun je in verschillende omgevingen een kijkje nemen en jezelf dus snel ontwikkelen. Wat hebben we jou te bieden? • Uitdagende projecten bij mooie klanten (bij jou in de buurt, of binnenkort intern vanuit ons kantoor!) • Een jonge organisatie met talentvolle collega’s • Veel ruimte voor

Bekijk vacature »

Front-End React Developer

As a Front-End React Developer you improve the user-experience of our web applications for your colleagues in Coolblue. How do I become a Front-End React Developer at Coolblue? As a Front-End React Developer you are responsible for developing user interface components and implementing them using React.js concepts and workflows. You work with the UX Designer and get energy from coming up with creative solutions and present these within the team. During the day you gather and welcome feedback on your technical and soft skills. Would you like to become a Front-End React Developer at Coolblue? Read below if the job

Bekijk vacature »

Front-end developer (Vue.js) gezocht!

Functie Als Front-end developer is het jouw doel om efficiënte en effectieve frontend code te ontwerpen, ontwikkelen en onderhouden die goed aansluit bij de functionele behoefte vanuit de klant. Je zorgt voor optimale SEO-resultaten, sitespeed en frontend security. You build it, you run it, you own it! Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden

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

05/05/2024 17:35:11
 
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.