syntax mysqli query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET developer / C# / Webservices

Functieomschrijving Wil jij als .NET Developer bij deze organisatie in Tilburg als kartrekker in een Scrum team fungeren en je helemaal uitleven in de backend met C#? Krijg jij een grotere kick van high-security en high-availability .NET backend oplossingen dan van een gelikte frontend? Dan past deze functie jou perfect! 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

Bekijk vacature »

Systeembeheerder DevOps

Systeembeheerder DevOps Je bent nog lang niet klaar met leren want de techniek staat niet stil en jij al helemaal niet. “Ontwikkelen” is je middle name. Bij T2 zorgen wij dat werkervaring en opleidingen hand in hand gaan en daar plukken wij samen de vruchten van. Onze samenwerking Hard werken aan je persoonlijke ontwikkeling en zo samen werken aan het succes van ons bedrijf. Je blinkt uit in alles wat je doet. Je bent kundig en gedreven. Wees welkom in een hecht team van inspirerende en creatieve professionals. Wij zijn op zoek naar IT professionals die gelukkig worden van Agile

Bekijk vacature »

Front-end Developer WPF

Heb jij kennis en ervaring met WPF en C#? Ben je technisch en heb je goed gevoel voor design? Wil jij met jouw kennis de zorg verbeteren? Dan zijn wij op zoek naar jou! Jouw baan Als Front-end Developer bij Zorgplatform ga je werken aan de interface voor zorgprofessionals. Zorgplatform is een platform waarmee medische gegevens op een veilige manier uitgewisseld worden met andere instanties binnen de zorgsector. Zorgplatform ondersteunt onder andere het verwijzen van patiënten, het overdragen van patiënten en de gezamenlijke behandeling (shared care). Dit is hét nieuwe werken in de zorg. Met jouw oog voor design ga

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 »

BI Ontwikkelaar

Ben jij gek op het verzamelen en analyseren van informatie? En wil je met deze passie graag zorgorganisaties meer inzicht verschaffen? Lees dan snel verder. Jouw baan Als BI ontwikkelaar Datawarehouse help je zorgorganisaties bij het inzichtelijk maken en grafisch presenteren van hun data. De ene dag werk je aan rapportages en kubussen, een dag later spreek je af met je collega’s om je in een ingewikkeld zorgproces te verdiepen. Je verwerkt informatiewensen samen met onze ontwikkelaars in de software. Afwisselend en uitdagend, want je werkt aan meerdere projecten tegelijk. Wat voor projecten? Dat stemmen we zoveel mogelijk af op

Bekijk vacature »

Xamarin Developer

Functieomschrijving Ben jij de Xamarin expert die de volgende stap in zijn carrière wil zetten? Houd jij er van om veelgebruikte apps verder uit te bouwen terwijl je de kwaliteit blijft waarborgen en heb je daarnaast zelf innovatieve ideeën ? Lees dan snel verder! Samen met het gehele mobile app team ben jij verantwoordelijk voor: de (door)ontwikkeling van Native applicaties voor Android en iOS; het verder samenbrengen van de applicatie en de web omgeving; de innovatie van de applicatie, het is belangrijk dat jij zelf meedenkt en jouw ideeën voorlegt binnen het team; feedback vanuit de gebruikers te behandelen en

Bekijk vacature »

SAP SD CONSULTANT

SAP SD CONSULTANT Utrecht Technology 13th month pay & Holiday allowance Bonus Program 26 holidays Training & Learning opportunities Laptop & Smartphone 32-40 hours p.w. Are you ready for the next step in your career as an SAP Sales and Distribution expert? Are you looking for innovative technical projects in an international work environment? Choose Accenture and make delivering innovative work part of your extraordinary career! Within Accenture you are challenged to be the best version of you at our client’s projects. This means you lead projects by actively engaging with the business and translating their needs to create maximum

Bekijk vacature »

Angular Developer / .NET Core / front-end of full-

Functieomschrijving Ben jij de medior / senior Angular Developer die graag in de regio Tilburg door zou willen groeien naar Lead Developer? Lees dan gauw verder! Software ontwikkeling: webbased platform en iOS apps; Werken met technieken als Angular 8, .NET Core, Javascript en TypeScript; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Code reviews houden; Initiatief nemen voor nieuwe technische mogelijkheden. Functie-eisen Minimaal 2 jaar ervaring als Angular Developer en technieken als .NET Core; Ervaring met GIT en JIRA; Zowel Nederlands- als Engelssprekend; Passie voor je vak. Bedrijfsomschrijving Bij dit informele bedrijf met een development team

Bekijk vacature »

Systeembeheerder VMWare

Systeembeheerder VMWare Als systeembeheerder kun je bakken met geld verdienen maar … dan moet je wel de juiste opleidingen en certificaten hebben! Bij T2 zorgen wij dat werkervaring en opleidingen hand in hand gaan en daar plukken wij samen de vruchten van. Onze samenwerking Hard werken aan je persoonlijke ontwikkeling en zo samen werken aan het succes van ons bedrijf. Je blinkt uit in alles wat je doet. Je bent kundig en gedreven. Je bent nog lang niet klaar met leren want de techniek staat niet stil en jij al helemaal niet. Wat mag je verwachten? Heb je ambitie en

Bekijk vacature »

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 »

Front-End Developer / JavaScript / AngularJS / Fin

Functieomschrijving Are you an enthusiastic Front-End Developer? Do you want to work with JavaScript & frameworks like AngularJS and be part of a future migration to Vue.js? Do you have a focus on delivering high quality code that is scalable, readable and clean? If your answers are yes, than this might be your new job! The client designs and develops the next generation of applications. As a Front-End Developer you are, with your team, responsible to speed up and strengthen the digital transformation by designing, implementing and supporting the internet banking applications with main focus on payments solutions. Your focus

Bekijk vacature »

Data Engineer - (Spark/Kafka/Python/Azure) Big dat

Anchormen is one of the leading Dutch companies in Data Consultancy with solid partnerships. We shape the future by activating data,an engaging and inspiring environment where we value innovation, quality reliability and fun. As an employer, we encourage an entrepreneurial mindset and drive; we don’t believe in micro-management and share responsibility with our staff focusing in adding value to the business and clients. We have weekly knowledge sharing sessions, tech Talks and trainings in which the best practices during projects are shared among colleagues.Learning from the best and becoming better is what we aim for. You will be easily abletobenefit

Bekijk vacature »

.Net Software Developer voor IT consultancy (.Net

Voor een groeiend ICT consultancy bureau in Haarlem & Leiden zijn we op zoek naar een ervaren .Net Back-end Developer. Een developer die bij klanten als het UWV, de Rabobank en Tata Steel applicaties designed, ontwikkelt en implementeert. Bijvoorbeeld een IT omgeving Cloud-ready maken, de IT security verhogen, applicaties naar .Net Core migreren en veel applicaties en functionaliteiten ontwikkelen met behulp van de nieuwste stack. Wat je gaat doen bij het MBK en multinationals: Ontwikkelen (greenfield) en onderhouden van .Net (C#) websites, applicaties en infrastructuren Cloud oplossingen bouwen Het opzetten van het technisch ontwerp en databases Een hoge diversiteit ervaren

Bekijk vacature »

Tibco Developer / Architect

Kun jij voor onze OV-klanten missiekritische bedrijfsapplicaties in Tibcotooling ontwerpen en bouwen die geschikt zijn voor de toekomst? Tibco Developer / Architect - Public Transport Wat ga je doen? Voor onze OV-klanten ontwerpen en bouwen we missiekritische systemen die in het hart van de bedrijfsvoering staan. Zoals systemen die de sensoren op de treinen elke seconde meten en direct analyseren. Ontstaat er een uitzonderingssituatie zoals bijvoorbeeld sterk oplopende temperaturen, verslechtering van de remmen, een deur die vastzit of grote drukte in de trein, dan grijpt onze software in en stuurt relevante signalen naar het hoofdkantoor. De trein kan dan in

Bekijk vacature »

Software Developer / Maatwerk / 4GL / SQL

Functieomschrijving Heb jij ervaring met Software Development en wil je je graag verder ontwikkelen bij een internationaal bedrijf in regio Eindhoven? Lees dan snel verder! Software ontwikkeling met technieken als Magic XPA en DB2 relationele databases. Ontwikkelen van nieuwe onderdelen van het centrale (maatwerk) softwarepakket. Uitbreiden bestaande functies binnen het pakket. Wensen en eisen van gebruikers in kaart brengen. Meedraaien in projecten. Informatieanalyses maken en uitwerken. Jezelf ontwikkelen binnen de organisatie, bijvoorbeeld op het gebied van BI of integratie met behulp van SAP PI/PO. Ondersteunen van de helpdesk bij software issues. Functie-eisen 1 tot 3 jaar ervaring op het gebied

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 06:22:06
 
- 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.