syntax mysqli query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.Net front-end Developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Bij DPA werken onze consultants als Front-end Developer in Agile teams bij onze klanten en zijn ze verantwoordelijk voor de grotere webapplicaties. Wil jij dit ook, want we zijn op zoek naar enthousiaste Front-end Developers om ons development team te versterken. Je draagt positief bij aan de teamgeest binnen een projectteam en je ondersteunt de software architect en projectleider bij hun werkzaamheden. Je gaat webapplicaties 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

Bekijk vacature »

Junior PHP developer

Bedrijfsinformatie Deze jonge, informele organisatie is op zoek naar een versterking. Ze geloven in het intern opleiden van ontwikkelaars zodat ze op de lange termijn onderdeel kunnen worden van dit hechte team van zo’n 15 medewerkers. Dit is dus jouw kans! Deze organisatie is sinds 5 jaar flink aan de weg aan het timmeren maar wil ook klein blijven om zo het hechte teamverband te behouden. Je moet er dus op tijd bij zijn voor deze functie! Deze organisatie specialiseert zich tweeledig: Enerzijds maken ze websites en anderzijds webshops. Hierin hebben ze een aantal grote klanten in de commerciële sector

Bekijk vacature »

PHP Programmeur

Organisatie Het bedrijf werkt aan de meest gave online succes story’s. Dit wordt gedaan vanuit een uniek kantoor pand waarin iedereen informeel en gezellig met elkaar om gaan. De organisatie pakt het gehele traject aan, van strategie en concept tot en met development. Dit is het typische verhaal van een grote Techgigant. Ooit zijn ze begonnen kleine zolderkamer onderneming waar wat vrienden met elkaar gave dingen maakte. Nu heel wat jaren later staat er een gevestigde onderneming waar alleen maar gepassioneerde developers werken. In teamverband wordt er gewerkt aan mooie projecten voor de grootste namen. Functie Jij komt als PHP-programmeur

Bekijk vacature »

Senior Full-Stack Developer Prototype MVP Start-Up

Organisatie Wat in 2003 is ontstaan om 3d modellen voor bedrijven te ontwerpen is al snel uitgegroeid tot een bedrijf wat alles dat je maar kan bedenken kan maken. Hun core-business is ook het uitwerken van ideeën van bedrijven tot een werkbaar product waar soms volledige bedrijven/start-ups uit voortvloeien. Dit doen ze met 30 gedreven mensen in een centraal gelegen pand in Utrecht. Binnen het bedrijf hangt een echt “Work hard, play hard” mentaliteit. Zo zit je het ene moment met je collega’s om de tafel en werk je in groepsverband. Maar als jij je beter kan concentreren door je

Bekijk vacature »

Junior+ PHP developer

Bedrijfsinfo Dit dynamische en professionele bedrijf bestaat nu ruim 10 jaar en concentreert zich al een ruime tijd op het ontwikkelen van mobiele applicaties. De organisatie is verdeeld in 3 verschillende locaties; 2 in Noord-Brabant en 1 vesteging in het Oostblok. Bij de vesteging in Breda zit je in een team van 19 collega’s waarvan 8 developers. Binnen de organisatie hangt een informele en gezellige sfeer. In de pauzes worden de dagelijkse tafeltennistafel-toernooitjes en gezamenlijke lunches gehouden. Functieomschrijving Als developer programmeer je zelfstandig maar ook in teamverband aan de backends van de klanten. Je bent constant bezig om het backend

Bekijk vacature »

Frontend Developer

Organisatie Een developer gezocht die niet bang is van uitdagingen! Deze organisatie is op het moment een geheel nieuw online platform aan het ontwikkelen. Dit doen ze uit de ijzersterke fundering die 90 (!) jaar geleden gelegd is. Ondertussen is deze organisatie marktleider in wat zij doen en focussen ze zich volledig op de toekomst. Het project word ontwikkelt volgend de CD methode en het gehele team werkt ook Agile. Het platform is al in productie, hier werkt een gedreven team van ervaren developers elke dag aan. Een tekort aan sparringpartners is hier dus niet van toepassing! Binnen deze organisatie

Bekijk vacature »

Junior PHP Developer / International Startup

Organisatie Deze organisatie heeft een innovatieve evenementen agenda ontwikkelt en dient daarmee als marketing platform voor grote evenementen. Wil jij vanuit een jonge startup graag samen werken met ’s werelds grootste evenementen, bedrijven als Uber en Booking.com en onderdeel worden van deze gave startup, lees dan verder! Deze organisatie heeft een platform ontwikkeld waarbij grote evenementen zich aanmelden en op dit platform adverteren richting miljoenen consumenten die de app gebruiken. Enkele jaren geleden is deze organisatie ontstaan en zitten inmiddels met 15 man in verschillende landen gevestigd. Het is een erg jonge organisatie waarbij de leeftijden tussen de 20 en

Bekijk vacature »

Medior/Senior Full-stack developer/ Impact maak je

Wat vertel jij op een verjaardag als iemand aan je vraagt waar je werkt? “Ik werk bij een bedrijf waar heel Nederland mee te maken heeft maar dit zelf niet eens weet.” Dit doet jouw bedrijf al 25 jaar Het toffe is dat jij binnen deze organisatie ook nog eens deel uit maakt van het innovatie team. Innovatie staat namelijk op nummer 1 voor jou en je vindt het super tof om hier mee bezig te zijn. Iedere ochtend kom je tussen 7:30 en 10:00 uur binnen lopen op kantoor en pak je allereerst in de jaren ‘70 keuken een

Bekijk vacature »

Junior PHP Developer OOP

Organisatie Het bedrijf is nu 8 jaar geleden achter de schermen begonnen met het ontwikkelen van hun product wat volledig gericht is op de “nieuwe mobiliteit”. Wat ze daar mee bedoeling is dat ze echt kijken naar het vervoer van de toekomst. We hebben tegenwoordig zo veel verschillende manieren van vervoeren, welke is nou het beste? Om er voor te zorgen dat al deze verschillende transportmanieren gebundeld zijn hebben ze een nieuw platform ontwikkelt wat de organisatie 1000% per jaar laat groeien en op dit moment 20.000 gebruikers heeft. Zo werken ze samen met grote verzekeraars en automerken om de

Bekijk vacature »

Junior C# Developer / Azure /

‘Als je ergens de beste in wilt zijn, moet je bereid zijn dingen te doen die andere developers niet willen doen’ – Michael Phelps Een bekende uitspraak binnen de top organisaties die deze branche rijk is. Succes komt je niet aanwaaien; succes is een pad die je volgt en voor deze organisatie ben ik op zoek naar die developer die graag deze volgende stap zet binnen zijn glansrijke carrière! Voor een van mijn partners ben ik op zoek naar de beste Junior C# developer van Nederland. Zij bieden een uniek traineeship aan waar uitsluitend met de nieuwste technieken wordt gewerkt.

Bekijk vacature »

Junior+ / Medior Full-stack .NET Developer

Organisatie Voor een van mijn business partners in de regio Tilburg ben ik op zoek naar een full-stack medior .NET developer. Je zal komen te werken voor de marktleider binnen de branche en je klantenkring zal onder andere bestaan uit gerenommeerde bedrijven uit de staal- en raketindustrie. Grote spelers, met grote behoefte. Hier ga jij op in spelen door de bestaande producten te verbeteren en nieuwe te ontwikkelen. Functie Je komt namelijk te werken binnen de R&D afdeling. Hierbinnen kom je te werken binnen een dedicated scrum team, met sprints van 3 weken, scrummen zoals het ooit bedoeld is. Daarnaast

Bekijk vacature »

(Junior) BI Developer

The Medline IT team is working every day to provide innovative solutions to our internal and external customers with the goal that these solutions will differentiate us from the competition. We are seeking a Business Intelligence (BI) Developer who will be involved in every step of the BI life cycle and will help us build solutions that turn data into knowledge. In this role, you will work with business users to understand business needs and translate them into reports/dashboards. We are looking for someone to help contribute to creating a sustainable and user-friendly BI environment. This role offers you the

Bekijk vacature »

PHP Developers gezocht die van complexe online vra

Vacature Omschrijving Een grote klant is opzoek naar enthousiaste PHP developers (junior/medior/senior). De organisatie waar jij komt te werken ontwikkelt en bouwt succesvolle oplossingen voor complexe online vraagstukken zoals performance, usability en conversion. Daarnaast zorgen zij voor externe systemen ingericht voor productbeheer, point-of-sales en voorraadbeheer koppelt de organisatie probleemloos aan op eigen Magento gebaseerde webshops. Het is een informele organisatie waar de communicatielijnen kort zijn. Functieomschrijving Met drupal 8 of ShopWare realiseert de organisatie prachtige frond-ends op dynamische data uit allerlei systemen. Je houdt je in deze organisatie bezig met het ontwerpen, ontwikkelen en beheren van functionaliteiten van de applicaties

Bekijk vacature »

Senior .NET developer / GIS data /

Stel je eens het volgende voor. Je stapt elke ochtend de auto in, zet je favoriete nummer aan en pakt de snelste route naar je werk. Maar, wat je je niet bedenkt is dat Nederland tot een van de dichtst vertakte wegennetten ter wereld beschikt! Al die wegen moeten naadloos op elkaar aansluiten, rekening houdend met allerlei belangrijke factoren. Tijdens de bouw van zo een wegennet is het belangrijk om alle processen en informatie goed in de gaten te houden. Dit wordt gedaan middels GIS, een Geografisch Informatie Systeem en daar mag jij mee werken! Gelegen ten zuiden van Utrecht

Bekijk vacature »

Medior C# developer / Traineeship /

‘Wij willen goede engineers nog beter maken’ is een veelgebruikt gezegde binnen deze organisatie. Vanuit deze organisatie zijn ze op zoek naar de beste top 5% van de markt als het gaat om software ontwikkeling, motivatie en doorzettingsvermogen! Het probleem waar veel banken en verzekeraars tegen aanlopen is dat ze de transitie hebben gemaakt tot softwarehuizen. Om de kwaliteit te waarborgen worden de beste consultants ingehuurd en zijn ze gewend aan de hoge kwaliteit van inhuur. Het probleem is dat dergelijke bedrijven blijven zitten met een gigantisch kennisgat als deze consultants wegvallen. Daar speelt deze organisatie perfect op in door

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

18/07/2019 01:29:39
 
- 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.