Query: Hoe aanpakken?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

Node.js developer looking for a challenging consul

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

C#.NET Developer

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

.NET Developer Microservices

Dit ga je doen Je taken zullen voornamelijk bestaan uit: Het ontwikkelen van software, inclusief vormgeving, implementaties, integraties en (automatisch) testen (.NET, C#, Azure, Docker, Microservices, Angular); Het in kaart brengen van software requirements; Zorgen dat jouw code kwalitatief hoogstaand is; Het uitvoeren van risico analyses; Een bijdrage leveren aan het continuous quality improvement process. Hier ga je werken Dat kanker een verschrikkelijke ziekte is die de wereld uit geholpen moet worden, is duidelijk. Binnen deze Gelderse organisatie die duizenden ziekenhuizen van producten voorziet, proberen ze daar via technische innovaties aan bij te dragen. Samen met 10 collega .NET developers

Bekijk vacature »

C# Ontwikkelaar

In het kort Als C# .NET Core ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan we deze uitdaging

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software 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 diepgaande

Bekijk vacature »

Laravel / PHP developer gezocht!

Functie omschrijving Wij zijn op zoek naar een Laravel PHP Developer voor een leuk bedrijf in de omgeving van Amsterdam! Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken; van A tot Z; Je hebt na de oplevering contact met de klant wanneer zij problemen ervaren; Je denkt mee over het verbeteren van de werkprocessen; Je denkt mee over softwareoplossingen; Je speelt in op de behoefte van de klant; Je houdt je bezig met het verbeteren, aanpassen en vernieuwen van de

Bekijk vacature »

Java developer - procesoptimalisatie (Inhouse)

Functie Wat ga je doen als Java developer? Jij als back end developer hebt al enige ervaring opgedaan in jouw vakgebied. Voornamelijk het werken met Java en Spring spreekt jou aan. Jij wordt samen met je collega developers in het team verantwoordelijk voor de gehele back end van de applicatie. Hierdoor heb jij veel zelfstandigheid in je rol en zul je ook zelf beslissingen samen met de PO maken. Er wordt gewerkt volgens de SCRUM methodiek, om zo structuur te creëren in de werkzaamheden. Binnen de 2-wekelijkse sprints pak jij je taken op die samen met de PO afgestemd zijn.

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

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 »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Junior/medior PHP developer Onderwijssector

Functie Momenteel zijn ze op zoek naar een 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), Vue.js

Bekijk vacature »

App Developer

Samen werken aan een gezonder Nederland en toekomstbestendige zorg voor iedereen. Dat is de impact die jij kan hebben als App Developer bij VGZ. Wil jij een bijdrage leveren aan een maatschappij waarin iedereen zich thuis voelt? Bekijk dan de vacature. Uit onderzoek van Computable is VGZ verkozen tot ‘beste niet-ICT werkgever voor ICT’ers van Nederland’ Hoe ook jij het verschil maakt Als App developer werk jij aan het belangrijkste communicatiekanaal van VGZ, namelijk de App! Als App developer bij VGZ maak je onderdeel uit van een van onze App-teams. Met een goede mix van kennis en ervaring zet je

Bekijk vacature »

Java Developer bij een jonge groeiende organisatie

Bedrijfsomschrijving Vind jij het als Java developer ook zo belangrijk dat een bedrijf je de ruimte en tijd geeft voor persoonlijke ontwikkeling? Dan zit je hier helemaal goed. Deze jonge organisatie is opgericht in 2018 en is ondertussen uitgegroeid tot een club van ongeveer 30 medewerkers. Het gaat hier om een echte Java club, die vrijheid en verantwoordelijkheid erg belangrijk vinden. Het bedrijf heeft een informele sfeer en de teams zijn erg hecht met elkaar. Ze delen graag de kennis en ervaringen met anderen, maar vinden andermans mening ook zeer belangrijk. De organisatie zet zich in voor ontwikkeling en besteed

Bekijk vacature »

Back-end PHP Software Developer - Juniorfunctie

Functieomschrijving Wij zijn op zoek naar een PHP Software Developer om ons team te versterken en mee te werken aan de ontwikkeling van eigen IOT-oplossingen. In deze functie ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor het uitlezen en managen van sensoren in machines. Je werkt nauw samen met een team van ontwikkelaars en engineers om de beste software-oplossingen te creëren. Jouw werkzaamheden zien er als volgt uit: Je bent in deze rol verantwoordelijk voor het ontwerpen, ontwikkelen en onderhouden van webapplicaties en softwaretoepassingen voor in-house ontwikkelde IOT oplossingen. Je werkt aan complexe databases en back-end

Bekijk vacature »

Pagina: 1 2 volgende »

Marina janssen

marina janssen

20/02/2016 23:38:49
Quote Anchor link
Ik heb een kolom Kleur in een database. De inhoud ziet er zo uit: bijv. zwart/wit of zwart/wit/rood of rood/wit/zwart of wit/zwart/rood of wit/rood etc.

Nu wil ik dat je met checkboxes kleuren kan selecteren. Dus als je kiest [wit] [zwart] en [rood], dat alle beesten met die kleuren (ongeacht de volgorde in de kolom) tevoorschijn komen.

Weet iemand welke functie je daarvoor kan gebruiken?
 
PHP hulp

PHP hulp

24/12/2024 03:38:35
 
Thomas van den Heuvel

Thomas van den Heuvel

20/02/2016 23:57:50
Quote Anchor link
Is het voldoende dat die beesten een of meer van die kleuren hebben, of moet de combinatie (ongeacht de volgorde) precies overeenkomen?

Of wil je kunnen kiezen of het kleur X en kleur Y en kleur Z is (alles inclusief), of kleur X en/of kleur Y en/of kleur Z (alles optioneel)?
 
Marina janssen

marina janssen

21/02/2016 00:32:21
Quote Anchor link
De combinatie moet precies zijn. Dus als je wit, rood en zwart hebt aangevinkt dat moeten ze minimaal alledrie die kleuren hebben. (in eerste voorbeeld zou je drie records krijgen )

NB
Ze mogen wel meer kleuren hebben. Dus als er een dier is dat bijv. wit/rood/zwart/beige is dan moet die er ook uitrollen.
Gewijzigd op 21/02/2016 00:36:35 door marina janssen
 
Frank Nietbelangrijk

Frank Nietbelangrijk

21/02/2016 08:39:03
Quote Anchor link
Je mag wat mij betreft die kolom kleuren direct uit je tabel halen.

Dan mag je een tabel kleuren aanmaken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
ID Kleur
========
1  Wit
2  Rood
3  Zwart
...


En vervolgens mag je een koppeltabel maken (user_kleur):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
user_id Kleur_id
================
   1       1     // gebruiker 1 heeft kleur Wit geselecteerd
   1       3     // gebruiker 1 heeft kleur Zwart geselecteerd
   2       1     // gebruiker 2 heeft kleur Wit geselecteerd
   2       2     // gebruiker 2 heeft kleur Rood geselecteerd
   2       3     // gebruiker 2 heeft kleur Zwart geselecteerd
...


Elk record in die laatste tabel is een aangevinkte checkbox in je formulier (van een bepaalde gebruiker).

Nu wil je weten welke kleuren gebruiker 1 geselecteerd heeft:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT k.id, k.kleur FROM kleur k
JOIN user_kleur uk ON k.id = uk.kleur_id
WHERE k.user_id = ?

- In bovenstaande sql wordt gebruik gemaakt van JOIN om twee tabellen te koppelen
- Ook worden aliasses gebruikt. k staat voor de tabel 'kleur' en uk staat voor de tabel 'user_kleur'
- Op de plek van het vraagteken moet het ID van de gebruiker komen
Gewijzigd op 21/02/2016 11:55:27 door Frank Nietbelangrijk
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

21/02/2016 10:24:02
Quote Anchor link
Gebaseerd op Frank zijn opzet (ik heb alleen de tabel- en/of kolomnamen wat veranderd) kan je met de volgende query dan het gevraagde ophalen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
SELECT d.naam,
    GROUP_CONCAT(k.kleur ORDER BY k.kleur SEPARATOR '/') kleuren
FROM dieren d
JOIN dieren_kleuren c
    ON d.dier_id = c.dier_id
JOIN kleuren k
    ON c.kleur_id = k.kleur_id
WHERE c.kleur_id IN (1,3)
GROUP BY d.naam
HAVING COUNT(*) >= 2
Gewijzigd op 22/02/2016 09:21:54 door Ger van Steenderen
 
Frank Nietbelangrijk

Frank Nietbelangrijk

21/02/2016 11:50:45
Quote Anchor link
* knip * (sorry wilde mijn vorige post wijzigen maar ik had het verkeerde knopje)
Gewijzigd op 21/02/2016 11:53:36 door Frank Nietbelangrijk
 
Thomas van den Heuvel

Thomas van den Heuvel

21/02/2016 14:42:02
Quote Anchor link
Een alternatieve aanpak is de volgende:
Geef de kleur een code dat een getal is wat een macht van 2 is:
wit = 1 (2 tot de macht 0)
zwart = 2 (2 tot de macht 1)
rood = 4 (2 tot de macht 2)
(enzovoorts, 8, 16, 32, 64 etc.)

In je "beesten" tabel kun je dan in één kolom de kleuren die een beest rijk is opslaan. Dit is dan de optelsom van deze codes. Bijvoorbeeld een witrood (of roodwit) beest heeft kleurcode 5 (1 + 4), een witzwart (of zwartwit) beest heeft code 3 (1 + 2).

Omdat de kleurcode is opgebouwd uit getallen die een macht van 2 zijn, is elke kleur uniek afleidbaar uit deze optelsom.

En hoe lees je dit weer uit een tabel als je op zoek bent naar een of meer specifieke kleuren? Dit doe je (onder andere) met de bitwise operator &. Deze operator werkt op twee waarden (operanden) net zoals de operator + werkt op A en B in de rekensom A + B. Maar wat is de uitkomst van A & B? Deze operator vergelijkt elke overeenkomende bit (lees: macht van 2) in A en B met elkaar. De uitkomst van deze som is de optelsom van alle bitjes die zowel in A als B op "1" stonden.

Je moet het zo zien, elk getal is te representeren als een rij nullen en enen die overeenkomen met machten van 2. Hierbij lees je zo'n bitreeks van recht naar links. Neem bijvoorbeeld 10110 binair, dit komt overeen met (gelezen van rechts naar links):
0 x 2 tot de macht 0 = 0 +
1 x 2 tot de macht 1 = 2 +
1 x 2 tot de macht 2 = 4 +
0 x 2 tot de macht 3 = 0 +
1 x 2 tot de macht 4 = 16
-------------------------
22 decimaal.

Stel dat je wilt weten of de tweede bit en de derde bit (vanaf rechts gezien) "aan" staan, dan kun je dit vergelijken met het getal 0 + 2 + 4 = 6 via de & operator. De uitkomst van deze som moet ook 6 zijn.

Dit zou je bijvoorbeeld in MySQL als volgt kunnen doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT 22 & 6

De uitkomst hiervan is ook 6, dus de tweede en de derde bit van 22 staan aan.

Op een andere manier weergegeven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
10110
00110 &
-------
00110


En op eenzelfde wijze, mogelijk heb je de parallel met je kleurcodes al gezien, kun je een beest-kleurcode vergelijken met een gewenste kleur(combinatie).
 
Marina janssen

marina janssen

21/02/2016 15:37:30
Quote Anchor link
Wat betreft het laatste voorbeeld met kleurcodes: stel ik heb wit, zwart en rood aangevinkt, dan komt de kat die zwart/wit/rood/beige is er dus niet uit rollen, vrees ik.
 
Thomas van den Heuvel

Thomas van den Heuvel

21/02/2016 16:03:18
Quote Anchor link
Jawel.

Stel:
zwart = 1
wit = 2
rood = 4
beige = 8

Wat je wilt is zwart + wit + rood = 7.
De kat met zwart + wit + rood + beige = 15.

15 & 7 is nog steeds 7. Oftewel, de selectie zwart + wit + rood levert ook beesten met zwart + wit + rood + whatever op.
 
Marina janssen

marina janssen

21/02/2016 19:56:55
Quote Anchor link
dit gaat boven mn pet
Ik zit hier al de hele middag naar te kijken maar tis alsof je chinees praat, dat van die kleurcodes begrijp ik nog wel maar hoe uit te lezen snap ik echt h e l e m a a l n i k s van
kan het niet makkelijker?
 
Ivo P

Ivo P

22/02/2016 14:14:19
Quote Anchor link
Thomas' manier werkt wel, maar is best complex om te begrijpen. Al is de berekening als je hem door hebt eigenlijk eenvoudig.

Ik zou gaan voor Franks benadering met een koppeltabel gaan
 
Thomas van den Heuvel

Thomas van den Heuvel

22/02/2016 14:40:49
Quote Anchor link
Mja, maar als je dan vervolgens @Ger zijn query hanteert, deze zul je elke keer moeten aanpassen op de selectie: het IN(...) deel (wat overeen moet komen met de kleur-id's) en de COUNT() (die overeen moet komen met het aantal geselecteerde kleuren). De complexiteit zit simpelweg op een andere plaats, is toch een beetje lood om oud ijzer.

Ook, als je wat boolse logica kent en kunt (& staat niet ver af van && en die zou, als je met PHP of JavaScript werkt, toch al redelijk vertrouwd moeten zijn) en enigszins kunt tellen in n-tallige stelsels (je bent het 10-tallige stelsel al gewend, de inwoners zijn de cijfers 0 t/m 9) dan staat het binaire stelsel (inwoners 0 en 1) hier ook niet zo ver vanaf. Maar ja, als je geen lijn kunt bespeuren in dit alles dan begrijp ik dat het lastig is. Wanneer je je dit eigen hebt gemaakt en terugkijkt is het eigenlijk meer van hetzelfde maar in een andere verschijningsvorm. In de vorm zit niet de moeilijkheid, want die kende je in zekere zin al.

Je zou "&" ook kunnen zien als een functie die twee argumenten accepteert. Als je begrijpt wat je invoert, en hoe de uitvoer totstand komt, dan snap je ook wat "&" in feite doet. Je zou dit simpelweg kunnen zien als de functionaliteit van &&, die twee booleans (twee bitjes, 0 of 1, false of true) accepteert. Het resultaat hiervan is alleen true (of 1) als beide bits true (1) zijn. Kijk nu nog eens naar deze som:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
10110
00110 &
-------
00110

Dit is een simpele rekensom, maar enkel met de cijfers 0 en 1 en een ander wiskundig symbool.
 
Marina janssen

marina janssen

22/02/2016 15:24:48
Quote Anchor link
machtsverheffen was ik echt helemaal vergeten
ik zit me nu in te lezen, ik moet gewoon helemaal bij het begin beginnen

ik leer nu alles over cijfertjes :)
http://code.tutsplus.com/tutorials/number-systems-an-introduction-to-binary-hexadecimal-and-more--active-10848
en als ik dat doorgeploegd heb, ga ik weer terug naar het hoofdstuk bitwise misschien snap ik het dan wel
 
Marina janssen

marina janssen

27/02/2016 23:48:51
Quote Anchor link
Thomas van den Heuvel:
Jawel.

Stel:
zwart = 1
wit = 2
rood = 4
beige = 8

Wat je wilt is zwart + wit + rood = 7.
De kat met zwart + wit + rood + beige = 15.




want 7 = 2<sup>3</sup>2<sup>2</sup>2<sup>1</sup>2<sup>0</sup>
0 1 1 1

15 = 2<sup>3</sup>2<sup>2</sup>2<sup>1</sup>2<sup>0</sup>
1 1 1 1

& ----------------------------------------------------------
0 1 1 1


Thomas van den Heuvel:


15 & 7 is nog steeds 7. Oftewel, de selectie zwart + wit + rood levert ook beesten met zwart + wit + rood + whatever op.


Ik heb er een week over gedaan, maar nu snap ik dat 15 ook 7 is.
Alleen nog niet helemaal hoe ik dat kan selecteren, maar misschien komt dat nog
Gewijzigd op 27/02/2016 23:51:55 door marina janssen
 
Thomas van den Heuvel

Thomas van den Heuvel

28/02/2016 17:04:35
Quote Anchor link
Quote:
Alleen nog niet helemaal hoe ik dat kan selecteren, maar misschien komt dat nog

Selectboxes kleuren[] maken met als waarde de unieke kleurcode, en dan, als je je zoekformulier submit (gebruikt $_GET, dat werkt doorgaans fijner) kijk je of "kleuren" ($_GET['kleuren'] dus) bestaat en tel je de waarden bij elkaar op met array_sum($_GET['kleuren'). Zoals eerder aangegeven kun je elke kleur uniek identificeren omdat elke kleurcode een waarde heeft die een macht van 2 is (1, 2, 4, 8, 16 etc.).
 
Marina janssen

marina janssen

28/02/2016 22:39:53
Quote Anchor link
Nou, het is (deels) gelukt (yeahhh!) :) Ik heb een kolom gemaakt met kleurcodes etc. Alleen wat ik niet begrijp is: waarom de paginatie de kleurcode niet kan onthouden na blz 1. Komt dat omdat het een array is?
De kleurcode wordt wel uitgelezen (opgeteld) uit de url. Ik doe precies hetzelfde als op andere pagina;s maar ik krijg array_sum() expects parameter 1 to be array als ik naar blz 2 (of verder) blader. heelp
 
Thomas van den Heuvel

Thomas van den Heuvel

29/02/2016 00:53:50
Quote Anchor link
Als je zoiets hebt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<form action="..." method="get">
...
<input type="checkbox" name="kleuren[]" id="kleuren_1" value="1"><label for="kleuren_1">zwart</label>
<input type="checkbox" name="kleuren[]" id="kleuren_2" value="2"><label for="kleuren_2">rood</label>
<input type="checkbox" name="kleuren[]" id="kleuren_4" value="4"><label for="kleuren_4">wit</label>
<input type="checkbox" name="kleuren[]" id="kleuren_8" value="8"><label for="kleuren_8">beige</label>
...
<button type="submit">zoek</button>
</form>

Dan komt dit op de volgende manier in je URL:
zoekscript.php?kleuren[]=1&kleuren[]=4&...

Je moet dan wel zorgen dat je alles op een of andere manier overneemt als er iets is aangevinkt.

Denk eraan dat niet aangevinkte checkboxen in het geheel niet worden verstuurd, je zult dus op het bestaan van $_GET['kleuren'] (of $_POST['kleuren'] als je de POST method gebruikt) moeten controleren.
 
Marina janssen

marina janssen

29/02/2016 23:45:23
Quote Anchor link
Allereerst nogmaals dank voor alle moeite die jij (en ook de anderen) nemen om te helpen php te begrijpen.

Stel ik vink grijs en wit aan. (wit= 1 en grijs =2)

Dan is de url van blz 1: kleurcodes.php?Code[]=1&Code[]=2

Maar als ik naar blz. 2 ga, (nog steeds zelfde checkboxes dus) dan is de url: kleurcodes.php?Code=3&page=2

Vraag 1: Ik snap niet waarom hij op blz 1 de ingevoerde codes exact weergeeft als Code[]=1&Code[]=2 in de url maar ze optelt als ik naar pag 2 ga. Want ik stop $Code in de query en de var_dump daarvan is 3 (op blz. 1).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if(isset($_GET['Code'])) {
     $Code = array_sum($_GET['Code']);
   var_dump($Code);
?>

Vraag 2:
Hoe krijg ik Code[]=1&Code[]=2 in de url op blz 2 ipv Code=3

Vraag 3:
Waarom blijft mn query eigenlijk leeg op blz 2 bij Code=3? De Code is 3! Ben ik nou gek???

Vragen, vragen vragen ...
 
Ward van der Put
Moderator

Ward van der Put

01/03/2016 09:46:01
Quote Anchor link
Marina janssen op 29/02/2016 23:45:23:
Dan is de url van blz 1: kleurcodes.php?Code[]=1&Code[]=2

Maar als ik naar blz. 2 ga, (nog steeds zelfde checkboxes dus) dan is de url: kleurcodes.php?Code=3&page=2

Vraag 1: Ik snap niet waarom hij op blz 1 de ingevoerde codes exact weergeeft als Code[]=1&Code[]=2 in de url maar ze optelt als ik naar pag 2 ga. Want ik stop $Code in de query en de var_dump daarvan is 3 (op blz. 1).
Dat doe je toch echt zelf, want je telt 1 + 2 op met array_sum():
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if(isset($_GET['Code'])) {
     $Code = array_sum($_GET['Code']);
   var_dump($Code);
?>

Als je toch gaat pagineren, waarom sla je de keuzen van pagina 1 dan niet even op in een sessie voordat je pagina 2 toont?
 
Thomas van den Heuvel

Thomas van den Heuvel

01/03/2016 14:40:00
Quote Anchor link
vraag 1: dat doe je waarschijnlijk zelf op een of andere manier

Quote:
Als je toch gaat pagineren, waarom sla je de keuzen van pagina 1 dan niet even op in een sessie voordat je pagina 2 toont?

Omdat het een zoekformulier is. Waarbij je een resultaat op deze manier makkelijk kunt bookmarken. Je hebt dan precies alle data die je nodig hebt in je URL. Je hebt dan geen externe hulpstukken in de vorm van een sessie nodig. Deze oplossing is stateless (of iig "self contained").

vraag 2: URL opbouwen / uitschrijven; plak voor elke geselecteerde kleurcode <separator>code[]=<kleurcode> vast aan de querystring. Waarbij <separator> ofwel een ? is, of een & en <kleurcode> de geselecteerde kleurcode, dit kan met een eenvoudig loopje die $_GET['Code'] doorloopt, nadat je hebt gecontroleerd of $_GET['Code'] bestaat.

vraag 3: waarschijnlijk omdat $_GET['Code'] op dat moment geen array meer is. Het resultaat van array_sum($_GET['Code']) levert op dat moment niks op (of liever gezegd NULL, wat mogelijk nog omgezet wordt naar het cijfer 0). Dit produceert tevens een warning. Je zou altijd moeten ontwikkelen met het ingeschakeld zijn van het melden + weergeven van fouten. Zet de bovenstaande code aan het begin van scripts waar je aan ontwikkelt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
?>

Dan worden dit soort fouten meteen evident.
 
Marina janssen

marina janssen

06/03/2016 19:06:21
Quote Anchor link
edit: Alles werkt nu.

Maar ik snap een ding nog niet helemaal mbt het selecteren.
Als ik bijv. rood en wit invul in het formulier en opvraag met select, dan krijg ik alleen de katten die daar exact aan voldoen. Dus de katten die rood/wit zijn en de katten die wit/rood zijn.
Op zich kan ik daar prima mee leven maarrrrr je zei ergens dat de rood/wit/zwarte katten er dan ook uit zouden rollen maar dat gebeurt niet. Dus de vraag is: heb ik iets niet goed begrepen of niet goed uitgevoerd?
dit is mn query
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if(isset($_GET['Code'])) { $Code = array_sum($_GET['Code']);

$sql = "SELECT Nummer FROM katten WHERE Code = $Code";
    $records = mysqli_query($conn, $sql);
    $rows = mysqli_num_rows($records);
    $pages = ceil($rows / $perpage);
    $rec = "SELECT Nummer, Naam, Kleur, Geslacht, Vacht, Ras, Bijzonderheden, DATE_FORMAT(Datum,'%d/%m') AS Datum, FROM katten WHERE Code ='$Code' ORDER BY Nummer_id DESC LIMIT $start, $perpage";

    
$result = mysqli_query($conn, $rec);
etc etc
 ?>
Gewijzigd op 06/03/2016 23:27:32 door marina janssen
 

Pagina: 1 2 volgende »



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.