syntax mysqli query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lead Java Developer

Dit ga je doen Je taken bestaan onder andere uit: Het aansturen van een development team bestaande uit 8 collega's op technisch maar ook HR gebied; Het maken van strategische keuzes omtrent de (nieuw)bouw van deze applicatie; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java, Spring, Angular, REST); Reviewen van code en feedback geven op collega developers. Hier ga je werken Als Lead Software Developer ben je verantwoordelijk voor één van de vier Agile Java ontwikkelteams die bouwen aan technologie die duizenden instanties wereldwijd verbindt. Dit Agile team, data Jira en Confluence gebruikt en

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Fullstack Developer TOTO

Do you want to work with the latest technologies on the development of new systems and applications? Get moving and strengthen Nederlandse Loterij as a Fullstack Developer TOTO. Thanks to your efforts, complex business critical applications are always running smoothly. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Fullstack Developer you score by: Taking ownership of the development cycle of an application in a large scale, high availability, geo redundant landscape Coaching your peer developers and safeguarding code quality Integrating the application with other components of the system using the available API’s Managing

Bekijk vacature »

Senior Developer Betty Blocks Blauwe Haven Rotterd

Functieomschrijving Voor de Politie zijn wij opzoek naar een Senior Developer Betty Blocks Blauwe Haven Rotterdam. De politieorganisatie heeft jaarlijks te maken met een aanzienlijk aantal politiemedewerkers die vanwege mentale overbelasting niet of beperkt inzetbaar zijn. De Blauwe Haven Rotterdam ondersteunt deze politiemedewerkers in hun herstel en re-integratieproces. De huidige digitale systemen van de Politie bieden onvoldoende ondersteuning in het herstel- en re-integratieproces van politiemedewerkers. Zowel voor de politiemedewerkers als voor de organisatie. Politiemedewerkers worden buitengesloten, waardoor zij eigen regie verliezen. Begeleiders kunnen de voortgang van de medewerkers niet goed monitoren. Management beschikt niet over de mogelijkheid trends te signaleren

Bekijk vacature »

Functioneel applicatiebeheerder - SOP-SYS-SAM

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Functioneel Applicatiebeheerder voor het financiele domein op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op

Bekijk vacature »

Integratie Developer / Architect

Dit ga je doen Als Integratie Developer / Architect binnen deze organisatie krijg je echt de kans om impact te maken. De organisatie is groeiende maar houdt een corporate cultuur buiten de deur. Heb je een goede business case: zorg voor goede argumentatie en ga ervoor! Geen stroperig beslissingsproces dat jouw ideeën in de weg staat! Enkele van jouw taken: Je ontwerpt en ontwikkelt nieuwe integraties met behulp van interne tools (Boomi) of externe partners; Je vertaalt functionele specificaties naar technische oplossingen; Je denkt mee over strategische ontwikkelingen op het gebied van applicatie integratie; Je voert regie op leveranciers en

Bekijk vacature »

Software developer - senior

Functie omschrijving Voor een echt softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking voor de afdeling Software Development! Ben jij op zoek naar een werkgever waar meerdere software developers werken aan interessante projecten? Ben jij op zoek naar een werkgever waar je onderdeel wordt van een team dat echt passie heeft voor het ontwikkelen van software? Dan ben je hier aan het juiste adres! Als softwareontwikkelaar kom je terecht bij een onafhankelijk, door kwaliteit gedreven, doortastend en daarbij op een Agile wijze werkend bedrijf. Ben jij een expert in het vertalen van Componenten van Functionaliteit naar Business lagen?

Bekijk vacature »

TypeScript developer (tot € 6.000, - bruto pe

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een ervaren Typecript developer die niet alleen zichzelf verder ontwikkelt, maar het ook leuk vinden om op termijn meer junior collega’s op pad te helpen. Je zult aan de slag gaan met het migreren van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde aan User Experience en kiezen ze duidelijk voor kwaliteit i.p.v. snelheid. Je krijgt dus de ruimte om vanuit gedegen onderzoek te werk te gaan en het borgen van kwaliteit staat hoog in het vaandel.

Bekijk vacature »

Senior PHP developer/ Software Architect

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan

Bekijk vacature »

Back-End Web Developer

As a Back-End Web Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a Back-End Web Developer at Coolblue? As a Back-End Web Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you also feel confident with setting up microservices in Typescript or are open to learning this. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing pure

Bekijk vacature »

Full stack developer

Functie Binnen een ontzettend stimulerende werkomgeving kom jij te werken in een software team van 14 developers. Met ontzettend stimulerend bedoel ik een modern pand, wat voorzien is van alle nodige soft- en hardware, zodat jij jouw werk goed kan uitvoeren. Daarnaast zitten ze in een bos, waardoor je in een groene omgeving rustig kunt werken. Het team bestaat uit front end, back end en full stack developers. Jij krijgt dus de keuze hier waar jij jezelf het liefst op zou richten, maar de voorkeur gaat uit naar back end. Er wordt hier Scrum (agile) gewerkt in multidisciplinaire teams met

Bekijk vacature »

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

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 »

Laravel developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »
Peter Kroonenburg

Peter Kroonenburg

21/04/2019 22:11:38
Quote Anchor link
Wie kan mij aan de oplossing helpen?

In de variabele var1 staat “ABCD”

Onderstaande query moet foto’s laten zien als een van de waarden uit var1 voorkomt in veld groep_id.
Ik ben dus op zoek naar de juiste syntax in regel 3 van de query


$query_rs_foto = "SELECT * FROM foto ";
$query_rs_foto .= "WHERE ocatID='$ocatID' ";

//$query_rs_foto .= "AND groep_id LIKE $var1 ;” ;

$query_rs_foto .= "AND sub_ocatID='$sub_ocatID' ";
$query_rs_foto .= "ORDER BY foto_volgorde DESC ";
$rs_foto= mysqli_query($verbinding,$query_rs_foto) or die(mysqli_error());
$row_rs_foto = mysqli_fetch_assoc($rs_foto);
$totalRows_rs_foto = mysqli_num_rows($rs_foto);
 
PHP hulp

PHP hulp

19/04/2024 06:05:25
 
- Ariën  -
Beheerder

- Ariën -

21/04/2019 22:30:04
Quote Anchor link
Ik mis de quotes om je $var1 en die punt-komma hoort er niet.

En goede gratis tip: echo ter debugging en testen eens $query_rs_foto voor je de query uitvoert. Dan zie je jouw volledige query.

Oh ja, je voert die regel nu niet uit, maar dat wist je vast al ;-)
Gewijzigd op 21/04/2019 22:31:08 door - Ariën -
 
Peter Kroonenburg

Peter Kroonenburg

21/04/2019 22:38:19
Quote Anchor link
Klopt. De quotes en de puntcomma foutje van mij. Maar wat is het geval Als ik in var1 alleen A zet krijg ik de foto's met A. Zet ik er C in krijg ik de foto's met C.
Dat werkt dus wel maar zodra in var1 AC staat krijg ik geen resultaat meer. Ik zou dus graag zien dat bij AC kuist allebei de foto's worden getoond.
 
- Ariën  -
Beheerder

- Ariën -

21/04/2019 22:43:51
Quote Anchor link
Het zijn dus twee typen foto's die gegroepeerd zijn in reeks A OF reeks C?
 
Rob Doemaarwat

Rob Doemaarwat

21/04/2019 22:45:00
Quote Anchor link
Splits $var1 in losse karakters, en doe dan per karakter een LIKE (samenvoegen via OR)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$a = [];
foreach(str_split($var1) as $c) $a[] = "groep_id LIKE '%$c%'";
$query_rs_foto .= "AND (" . implode(' OR ',$a) . ")";
 
Thomas van den Heuvel

Thomas van den Heuvel

21/04/2019 22:45:30
Quote Anchor link
Een id-kolom in combinatie met een LIKE is sowieso een beetje vreemd. Het klinkt alsof je een koppeltabel mist en al deze informatie in die kolom gefrommeld hebt?

Een LIKE zonder wildcards (een underscore (_) voor een enkel karakter, een procentteken (%) voor nul of meerdere karakters) levert je ook niet zoveel op, want dan zouden het exacte matches moeten zijn. Meestal doe je zoiets als ... LIKE '%<frase>%' ... waarbij <frase> het ding is waarmee je vergelijkt.

Maar in dit geval (groepen (categorieën?) waartoe een foto zou moeten behoren) snijdt dat niet zoveel hout.
 
Peter Kroonenburg

Peter Kroonenburg

21/04/2019 23:03:08
Quote Anchor link
id is inderdaad wat verwarrend maar het is geen relatieveld. Kan <frase> wel een variabele zijn? Want %$var1% of '%'.$var1.'%' geeft ook foutmeldingen. Ik maak waarschijnlijk dus ergens een denkfout.
Simpel gedacht wilde ik bereiken als in de databaseveld groep_id een waarde voorkomt die ook in var1 staat dan True anders False.
 
Rob Doemaarwat

Rob Doemaarwat

21/04/2019 23:08:56
Quote Anchor link
Splits $var1 in losse karakters, en doe dan per karakter een LIKE (samenvoegen via OR)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$a = [];
foreach(str_split($var1) as $c) $a[] = "groep_id LIKE '%$c%'";
$query_rs_foto .= "AND (" . implode(' OR ',$a) . ")";
 
Peter Kroonenburg

Peter Kroonenburg

21/04/2019 23:28:48
Quote Anchor link
Perfecte oplossing Rob. Het werkt, bedankt allen voor de support!
 
Thomas van den Heuvel

Thomas van den Heuvel

22/04/2019 14:58:22
Quote Anchor link
Meh.

Simpelweg omdat iets werkt, maakt het nog niet juist.

Een oplossing met LIKE, hoe elegant de bovenstaande ook is, lijkt mij niet de juiste aanpak voor het bovenstaande vraagstuk.

Dit schreeuwt om een fotogroep-koppeltabel.

Wat je nu aan het doen bent is op een ingewikkelde (of "makkelijke", net hoe je het bekijkt he :)) manier coderen tot welke groep(en) een foto behoort, en vervolgens moet je je in allerlei bochten wringen om deze data weer uit de database te peuteren.

Dit soort coderingen zijn wellicht soms geoorloofd, maar niet in dit geval lijkt mij.

Merk ook op dat deze aanpak je query sterk kleurt (om het nog niet eens over de extra complexiteit of efficiëntie te hebben!), deze structuur bepaalt in sterke mate hoe de query er uit ziet. Dit is een signaal dat de databasestructuur niet zodanig is dat het makkelijk is om data weer uit de database te halen. Dit laatste zou altijd een streven moeten zijn: databases zijn bedoeld om data gestructureerd (en niet zozeer gecodeerd :p) op te slaan.

Eerlijk gezegd zou ik die extra mijl nemen en een extra tabelletje aanmaken. Wat je hierboven aan het doen bent is toch een beetje voortborduren op een verkeerde oplossing.

Ook wil je foto's straks anders gaan gebruiken waarbij het belangrijker wordt tot welke groepen deze behoren. Kun je met de huidige aanpak garanderen dat je dan niet hopeloos in de problemen komt?

Met deze oplossing schuif je dus ook potentieel werk voor je uit. Dit is na verloop van tijd mogelijk steeds lastiger aan te passen dus het nemen van deze "shortcut" leek nu wel slim maar die bijt jou later hoogstwaarschijnlijk in je broek.

Ook zou je een beetje vanuit een ander kunnen redeneren (karma?). Als iemand anders deze code van jou onder handen zou moet nemen, of als jij dit soort code van iemand anders op je bord krijgt, wat zou die persoon of jij daar van vinden? De eerste vraag is dan waarschijnlijk ook "waarom heeft deze gozer niet gewoon een koppeltabel gemaakt?".
Gewijzigd op 22/04/2019 15:10:29 door Thomas van den Heuvel
 
Rob Doemaarwat

Rob Doemaarwat

22/04/2019 15:50:47
Quote Anchor link
Andersom, als groep_id altijd maar een enkele letter bevat (een foto dus nooit aan meerdere groepen gekoppeld kan zijn), dan kun je gewoon IN (...) gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query_rs_foto .= "AND groep_id in ('" . implode("','",str_split($var1)) . "')";
 
Thomas van den Heuvel

Thomas van den Heuvel

22/04/2019 16:17:33
Quote Anchor link
True, maar dan de naamgeving. Ik zou een letter ook niet typeren als een id. En om terug te komen op efficiency, je wilt ids doorgaans indexeren.
Gewijzigd op 22/04/2019 16:23:15 door Thomas van den Heuvel
 
Rob Doemaarwat

Rob Doemaarwat

22/04/2019 16:48:22
Quote Anchor link
Op zich kan een letter een prima ID zijn, en je kunt ze ook prima indexeren. Ivm afhankelijkheden verderop in de keten heb ik nog wel eens van doen met een base-36 ID (0..9 + A..Z, met voorloopnullen), werkt prima. Daarnaast ken ik ID's die toch niet "zomaar" ontstaan (dus geen artikelnummer ofzo - wat gewoon een volgnummer is dat de klant zelf "aan maakt", maar ID's die vaak een 1:1 relatie met een stukje code hebben - en dus ook eerst in code gedefinieerd moeten worden) gewoon een karakter of een (korte) string toe (echt als primary key). Voordeel is dat je in gekoppelde tabellen dan ook direct die letter of string terug ziet, en je bij het "data graven" (nav een probleem ofzo) niet steeds uit hoeft te vogelen wat ID = 35 ook alweer was (maar dat is dan gewoon "x" = status ID voor categorie "extra" - of zoiets).
 
Thomas van den Heuvel

Thomas van den Heuvel

22/04/2019 17:46:15
Quote Anchor link
Hier heb je het over meerdere ontwerpprincipes waartussen je kunt kiezen of die elkaar kunnen aanvullen. Auto increment id's zouden bij voorkeur alleen "intern" gebruikt moeten worden inderdaad. Er is ook niets mis met tekstuele representaties voor bepaalde toestanden (states). Je zou zelfs kunnen overwegen om hiervoor (naast een equivalent in de database) in PHP constanten te gebruiken. Allemaal prima. Maar groep_id "A" zegt mij niet zoveel. Ook zou ik niet weten hoe je deze opzet makkelijk beheert in een interface. Dan zul je elke keer alles moeten splitsen en samenvoegen...
Gewijzigd op 22/04/2019 21:34:33 door Thomas van den Heuvel
 



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.