syntax mysqli query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer / Java 8 / Angular / Docker / Autom

Functieomschrijving Wil jij als Java Developer aan de slag bij een internationaal bedrijf die cutting edge applicaties ontwikkeld voor de automotive branche? Ga je graag aan de slag met technieken als Java 8, Java EE7, Docker, Angular en wil je graag direct een lease auto krijgen? Lees dan snel verder! Ontwikkelen van cutting edge applicaties met o.a. Java 8, Java EE7, Angular en Docker; Verantwoordelijk vanaf het in kaart brengen van requirements tot de daadwerkelijke technische oplossing; Meedenken over architectuur; Assisteren van technische implementaties bij klanten; Overleggen met analisten, testers, architecten en consultants. Functie-eisen Minstens 2 jaar ervaring als Java

Bekijk vacature »

Java Developer / Java EE frameworks / Inhouse (Clo

Functieomschrijving Ben jij een Java Developer met een zeer uitgebreide kennis van REST API's en wil jij graag werken aan uitdagende Inhouse projecten voor grote en bekende partijen in Nederland? Dan is dit de rol waarnaar jij op zoek bent! Binnen deze rol zal jij je als Java Developer aan de slag gaan voor een van de meest bekende bureaus op het gebied online platformen, een rol met veel afwisseling en voldoende technische uitdaging! Werken aan diverse en uiteenlopende projecten, waarbij je meer dan eens pionierswerk zal moeten verrichten; De mogelijkheden tot het toepassen van nieuwe technieken bespreken, beoordelen en

Bekijk vacature »

Full-stack C++ developer

Accent Pointe BV is looking for a full-stack C++ developer to strengthen our highly professional and experienced team of software engineers. Role Summary: As a software engineer at Accent Pointe you will be developing in-house trading applications. You will be responsible for optimizing applications for efficiency; and be given opportunities to bring ideas and create new applications to assist our daily trading operations. You will join in a small and agile team with the ability to execute on ideas quickly and will be in close contact with traders, risk managers and other stakeholders within the firm. What we offer: -

Bekijk vacature »

Front-end Developer Angular 8 Leaseauto

Functieomschrijving Ben jij een Front-end Developer en heeft Angular geen geheimen meer voor jou? Wil jij graag werken met de nieuwste versie Angular 8? Wil jij werken in een dynamisch team bij een snelgroeiend internationaal bedrijf? Lees dan snel verder! Het ontwikkelen van nieuwe front-end applicaties of verbeteren van de bestaande middels Javascript, HTML, CSS en Angular; Het bijdragen in de migratie naar Angular 8. Het leveren van jouw bijdrage aan de vertaalslag van functionele wensen naar de technische oplossing; Het op de hoogte blijven van de nieuwste ontwikkelingen binnen jouw vakgebied; Je voelt je thuis in een internationale omgeving

Bekijk vacature »

.NET Developer

.NET Developer De uitgebreide versie Jij hebt ruim twee jaar ervaring als developer. Nu wil je graag je tanden zetten in nog complexere projecten. Samen met je team bereik je nieuwe hoogtes en zelfstandig maak je meters. Je hebt behoefte aan collegae die jou alles leren op het gebied van technologie maar wilt tegelijkertijd ook graag je eigen opgedane kennis delen. Alles wat vandaag nog onbekend is, moet je morgen toepassen in de volgende uitdaging en dàt is wat jou scherp houdt. Je hebt geen zin in een 60-urige werkweek maar haalt wel plezier uit zo nu en dan een

Bekijk vacature »

software engineer / applicatieontwikkelaar (m/v)

Wij zijn op zoek naar een software engineer / applicatieontwikkelaar, (M/V) 40 uur p/w Carrièreniveau: Startend / Midcareer De werkzaamheden: Als applicatieontwikkelaar ben je verantwoordelijk (in teamverband) voor het maken/schrijven van software voor het bedrijf zelf. Dit kan betrekking hebben op het hele spectrum van de software die gebruikt wordt: Database Instrumentatie en robotica Websites en -api’s. Gevraagd profiel: Wij zoeken een enthousiaste kandidaat met HBO ICT opleiding of een uitstekende MBO-er ICT. Je hebt een positieve en flexibele werkhouding. Affiniteit of ervaring met industriële automatisering of robotica geldt als een pré. Kennis van met name FileMaker, C#, html, php,

Bekijk vacature »

PHP developer gezocht - onderzoek applicatie

Functieomschrijving Je gaat verder ontwikkelen aan de bestaande applicatie en hier nieuwe functionaliteiten op bedenken. Omdat jij verantwoordelijk bent voor de applicatie krijg je hierin ook veel vrijheid. De collega's zijn jonge mensen in de leeftijd van 20 tot ongeveer 40 jaar en er heerst een hele ongedwongen sfeer in het bedrijf. Je mag straks 2 dagen remote vanuit huis werken als je dat zou willen. In overleg is er veel mogelijk bij dit bedrijf. We zoeken iemand met bij voorkeur 2 a 3 jaar ervaring op medior niveau. Heb jij zin om bij een leuk bedrijf verder te ontwikkelen

Bekijk vacature »

Mendix Front End Ontwikkelaar

Mendix Front-End Developer Voel jij je helemaal thuis in JavaScript, React en React Native en weet je hoe je een top front end voor applicaties moet bouwen? Ben jij op je best wanneer je samenwerkt in een team, maar ook prima in staat om zelfstandig te werken? Dan zijn wij op zoek naar jou! OVER DE VACATURE: Als Mendix Front-End Developer begrijp jij hoe de gebruiker met een applicatie wil interacteren. Jij bent de enabler tussen de gebruiker, (UX-)designer en het Mendix team. Je bent in staat de vraag achter de vraag te achterhalen en zo de behoefte van de

Bekijk vacature »

Business Intelligence Developer vacature

Jij ben niet bang om hard te werken. Uitdagingen zijn welkom. En problemen? Die zijn er om opgelost te worden of, nog beter, om voorkomen te worden! Voor jij aan de slag gaat met het ontwerpen van BI- en DWH-oplossingen, leg je eerst je oor te luister bij de klant. Zo weet jij wat de klant wil, en hoe jouw ontwerp eruit moet komen te zien. Simpel! Althans… met jouw Developer-kwaliteiten wel! Over deze BI vacature Als Business Intelligence Developer ga je zowel op locatie bij de klant aan de slag, als op een van de Sogeti-locaties. Je analyseert de

Bekijk vacature »

C# .NET Developer

Heb je ervaring in ontwikkelen van applicaties m.b.v. C# en .NET en zie jij jezelf wel werken in een bedrijf met volop ontwikkelingsmogelijkheden? Solliciteer dan direct voor deze positie als: C# .NET Developer in Rijnsburg, ±30 min. rijden van Den Haag Over de positie: Als C# .NET developer bij Alfa Pro IT staat je een brede functie te wachten die je langs wisselende onderdelen van het vak brengt. Denk aan administratieve, logistieke en financiële modules, koppelingen met webshops, apps en andere E-Commerce-toepassingen. Je komt te werken in een gezellig en informele scrumteam en bouwt mee aan de ontwikkeling van een

Bekijk vacature »

.NET C# developer gezocht, Dordrecht

Ben je een .NET C# developer die in Dordrecht woont, of in de omgeving hiervan, en op zoek is naar een nieuwe baan? Bij een bedrijf met betrokken collega’s, die elkaar graag helpen, binnen een informele cultuur? En aan een succesvol product wilt werken dat constant verder ontwikkeld wordt? Voor een bedrijf in Dordrecht zijn we op zoek naar verschillende C# developers. Het bedrijf richt zich op de ontwikkeling van software voor een specifieke branche en heeft circa 5000 gebruikers. De organisatie bestaat uit circa 20 mensen waarvan 6 .NET developers, 1 architect en 3 software testers. Het werk bestaat

Bekijk vacature »

C++ / Developer / Complex / Architectuur

Functieomschrijving Wil jij als C++ Developer meebouwen aan complexe systemen die levensreddende operaties ondersteunen? Ben jij de C++ Developer die zijn hand niet omdraait voor de meest uitdagende C++ vraagstukken? Dan is deze C++ rol jou op het lijf geschreven! Je wordt verantwoordelijk voor de codegeneratie en de onderliggende architectuur; Je zorgt ervoor dat de frameworks en architectuur continue doorontwikkeld wordt en dat nieuwe technologieën zoals Big Data en machine learning in de architectuur opgenomen worden; Creëren van robuuste, betrouwbare en veilige omgeving; Maken, onderhouden en doorontwikkelen van onze in C++ ontwikkelde architectuur in een Linux omgeving. Functie-eisen Hbo-gediplomeerd; Minimaal

Bekijk vacature »

.NET Developer / Angular / React

Functieomschrijving Haal jij als .NET Developer energie uit het ontwikkelen van bedrijfskritische .NET applicaties en vind jij het ook leuk om de door jouw gebouwde .NET applicaties te beheren en door te ontwikkelen, waarmee je de kwaliteit van de .NET applicaties weet te waarborgen? Lees dan snel verder Het ontwikkelen van bedrijfskritische applicaties; Het onderhouden en beheren van de applicaties; Het uitvoeren van patches, testen, change- en incidentmanagement; Meedenken over technische ontwikkelingen; Het pro-actief aandragen van verbeteringen. Functie-eisen Hbo denk- en werkniveau; Minimaal 2 jaar ervaring met .NET; Aantoonbare ervaring met het ontwikkelen en beheer van van applicaties; Aantoonbare ervaring

Bekijk vacature »

.NET ontwikkelaar / C# / miljarden berichten

Functieomschrijving Ben jij als .NET Developer bekend met oplossingen voor zwaar berichtenverkeer? Wil jij onderdeel zijn van een organisatie in regio Den Bosch die de verantwoording heeft om grote hoeveelheden gevoelige data veilig te versturen? Dan is dit je kans om voor een topclub te komen werken! Programmeren van high-availability en high-security applicaties in C#; Samen met je teamgenoten nieuwe applicaties/diensten ontwikkelen in .NET; Overleggen met de informatie analisten en testers; Ontwikkelen van webservices (WCF); 20 % van je tijd besteden aan innovatie; Deelnemen aan projecten om nieuwe ketenpartijen toe te voegen; Bouwen van unit testen. Functie-eisen Beschikt over HBO/WO

Bekijk vacature »

C# .NET developer

Heb je ervaring in ontwikkelen van applicaties m.b.v. C# en .NET en zie jij jezelf wel werken in een bedrijf met volop ontwikkelingsmogelijkheden? Solliciteer dan direct voor deze positie als: C# .NET Developer in Rijnsburg Over de positie: Als C# .NET developer bij Alfa Pro IT staat je een brede functie te wachten die je langs wisselende onderdelen van het vak brengt. Denk aan administratieve, logistieke en financiële modules, koppelingen met webshops, apps en andere E-Commerce-toepassingen. Je komt te werken in een gezellig en informele scrumteam en bouwt mee aan de ontwikkeling van een nieuwe applicatie voor groothandelaren in de

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

27/02/2020 05:19:48
 
- 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.