Mysql query probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior PHP developer met ambities tot Software Arc

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 »

Software developer - C Sharp

Functie omschrijving Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Wij zijn voor een leuke opdrachtgever in omgeving Naaldwijk op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Wij zoeken iemand die breed inzetbaar is en die aan veel verschillende applicaties wilt werken. Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind

Bekijk vacature »

.NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. 50% van jullie werkzaamheden is maatwerk en de overige 50% is

Bekijk vacature »

Developer (One Data)

Do you have experience with managing IT Teams in a service delivery organization? Are you keen to bring the team and our platform to a higher level? Then Nutreco has a very interesting role for you! As a One Data developer you are responsible for the management, running and functional use of our integration landscape and processes within Nutreco. Nutreco is using at this time BizTalk 2016, and Apigee for its API management, to be replaced by Azure Integration Services as of 2023. You will be part of a virtual teams of 11 people (own and outsourced) working in an

Bekijk vacature »

Freelance Fullstack Java Developer

Functieomschrijving Voor een opdrachtgever in omgeving Rotterdam zijn wij op zoek naar ervaren Fullstack JAVA Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid hebben

Bekijk vacature »

Software Developer

Dit ga je doen Ontwikkelen aan de software dat beschikbaar is op de substations; Ontwikkelen in C++, C, Python en JavaScript. Daarnaast op een Embedded Linux omgeving, opgebouwd met containers en DevOps; Meewerken aan cyber security (OWASP); Uitvoeren/bouwen van geautomatiseerde testen in samenwerking met de Quality Specialist; Vertalen van wensen van de klanten/business naar werkbare/duurzame oplossingen. Hier ga je werken Als Software Ontwikkelaar kom je te werken bij een organisatie gericht op de (internationale) energiemarkt, waar wordt gewerkt voor het verwerven en verwerken van realtime, high quality data. Er wordt gewerkt vanuit het hart van de substations en direct voor

Bekijk vacature »

Back-end PHP Developer

Dit ga je doen Her- en uitbouwen van het inhouse softwareplatform dmv PHP; Onderhouden van bovengenoemd platform in PHP; Sparren met het team; Meedenken over nieuwe functionaliteiten, security etc; Jouw input leveren aan het proces door op de hoogte te blijven van nieuwe ontwikkelingen etc. Hier ga je werken Onze klant, gevestigd in de omgeving van Alkmaar, levert wereldwijd oplossingen op het gebied van IT. Dag in dag uit werken zij met veel passie aan hun product waarmee ze streven naar verbeteringen binnen zorg. Voor onze klant zijn we op zoek naar een medior PHP Developer. Je komt te werken

Bekijk vacature »

IoT Software Developer PHP

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een IoT software developer met kennis van PHP. In deze rol wordt je verantwoordelijk voor het vernieuwen van het multimedia platform van een super tof bedrijf in Breda. Je gebruikt PHP als programmeerlaag, en bent in staat om de helicopterview te pakken / projectmatig te werken. Jouw werkzaamheden zien er als volgt uit: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "intern" ontwikkelde multimedia platform. Je neemt de lead in het moderniseren van het platform door het deels opnieuw op te zetten of

Bekijk vacature »

Medior Java developer

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 »

Junior Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Samenwerken in een team van 10 collega's; Opleveren van mooie eindproducten, middels de Agile methodiek; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als startende IT-professional kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven.

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda ben je als PHP/Symfony Developer niet alleen gefocust op het ontwikkelen van software. Daarnaast ben je voortdurend bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Hieronder een kort overzicht van jouw takenpakket: Het ontwerpen en implementeren van webapplicaties met het Symfony Framework; Het schrijven van een schone en efficiënte codes; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klant; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het

Bekijk vacature »

Ervaren PHP developer gezocht!

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

C#.NET-developer - JUNIOR

Functie omschrijving Voor een leuke opdrachtgever in omgeving Brielle zijn wij op zoek naar een junior developer. Werk jij graag met de volgende tools & technieken? C#, .NET, ASP.NET, MVC en SQL? Kijk dan snel of dit iets voor jou is! Als programmeur bij een productiebedrijf zal je voornamelijk nieuwe software schrijven maar ook bestaande software verbeteren. Verder werk je veel samen in back end projecten met leuke collega's. Bedrijfsprofiel Met een team van ruim 130 personen staan ze elke dag weer klaar om IT en Business te combineren door het ontwikkelen van producten op maat. Er zijn 3 teams,

Bekijk vacature »

Ervaren PHP Developer

Functieomschrijving PHP Developer met brede ervaring gezocht! Ben jij een Full Stack PHP Developer met brede ervaring die toe is aan een volgende stap? Lees dan snel verder! Voor onze eindklant in de regio Nunspeet zijn wij op zoek naar een ervaren PHP Developer die het IT Team van deze organisatie gaat versterken. Wij zoeken een enthousiaste en breed georiënteerde IT-er die er voor gaat zorgen dat deze innovatieve organisatie de volgende stap gaat maken. Om deze functie goed uit te kunnen voeren moet je communicatief goed zijn en in staat zijn om zelfstandig problemen op te lossen. Daarnaast bestaat

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Pagina: « vorige 1 2

Brecht S

Brecht S

13/01/2015 20:55:26
Quote Anchor link
En kan ik die dan JOINEN? Of zie ik dat hier verkeerd en is dat niet meer nodig? Ik heb geen idee hoe je dit zou aanpakken.
 
PHP hulp

PHP hulp

22/12/2024 18:09:13
 
Jan de Laet

Jan de Laet

13/01/2015 20:58:17
Quote Anchor link
@Brecht, als je nu dan vertelt wat je wilt als er meer projecten of taken zijn... dan kunnen we je misschien helpen.

Je zei dat je taak_id nodig had, dus dan heb je ook meerdere records nodig lijkt me.
 
Brecht S

Brecht S

13/01/2015 21:11:50
Quote Anchor link
Wat ik zie is dat er maar 2 personen meerdere keren voorkomen en die hebben toevallig ook een project met meerdere taken onder. Dus daar gaat precies iets verkeerd. Diegene die geen projecten (of taken) hebben komen maar 1 keer voor wat dus juist is en dat zijn de overige in de lijst.

Als er meerdere projecten of projecttaken zijn mag die persoon maar 1 keer verschijnen want er is bvb maar 1 todo aan gekoppeld. Voor alle duidelijkheid: we spreken hier over taken maar dit zijn projecttaken. In het overzicht dat ik wil maken gaat het hier enkel over todo's voor bepaalde personen ( en die hangen vast aan contacten ). Dat ik hier een mix moet hebben met projecten en projecttaken heeft hier eigenlijk rechtstreeks niks mee te zien. Dit is alleen omdat ik die taak_id nodig heb om de taak later te kunnen aanpassen vanuit die overzichtlijst.
Gewijzigd op 13/01/2015 21:19:13 door Brecht S
 
Jan de Laet

Jan de Laet

13/01/2015 21:20:06
Quote Anchor link
Degene die geen projecten of taken hebben komen inderdaad maar 1 keer voor, maar hebben dan geen taak_id. (taak_id heeft waarde NULL).

Van diegene die meerdere projecten en/of taken hebben zie je meer taak_ids in de overzichtslijst.
Welke van die taak_ids moet er dan getoond worden? Is er nog een extra conditie die je toe kunt passen om er maar 1 te zien?
Gewijzigd op 13/01/2015 21:20:48 door Jan de Laet
 
Brecht S

Brecht S

13/01/2015 21:26:31
Quote Anchor link
Ik zal proberen al mijn uitleg hier eens opnieuw van in het begin te verduidelijken want denk dat jullie niet meer mee zijn. Het is ook een heel complex iets.

Ik heb een pagina genaamd 'historiek'. Hier kan je een type kiezen: notitie, todo of taak. Afhankelijk van wat je kiest krijg je andere velden te zien.

In het geval het een notitie is komt die in een lijst te staan die alle callcenters kunnen zien om meer te weten te komen over die prospect/klant. Dus eigenlijk een echte historiek/logboek.

In het geval het een todo is moet die op een andere pagina 'activiteiten' verschijnen (en daar gaat het hier over). Hier hebben we een lijst met alle items die als todo zijn opgegeven met telkens een actiedatum waarop die in de lijst moet verschijnen.

In het geval het een taak is moet die op de pagina 'activiteiten' in de lijst verschijnen. Ook hier is de actiedatum de datum van verschijning. Maar ook moet die op een andere pagina 'projecten' verschijnen onder een project die hangt aan die klant.

Indien dus een taak is opgegeven als type in die pagina historiek verschijnt er ook een knopje bij waar je kan op klikken om naar de aanpaspagina te gaan van die taak. Vandaar heb ik die taak_id nodig.

Misschien is deze uitleg beter?

Toevoeging op 13/01/2015 21:30:37:

@Jan: inderdaad, van diegenen die meerdere projecten/taken hebben zie je ze ook meerdere keren verschijnen. Het gaat hier enkel over de taak_id die als historiek item is opgemaakt met als type 'taak'. In de meeste gevallen zal dit maar 1 taak_id zijn. Misschien is hier nog een extra iets nodig dat ik check of type = taak bij de historiek (met h.type = 'taak') en zo de bijhorende id krijg en dit dus ook de enige is die verschijnt?
Gewijzigd op 13/01/2015 21:39:15 door Brecht S
 
Jan de Laet

Jan de Laet

13/01/2015 22:38:09
Quote Anchor link
Na je uitleg begrijp ik de relatie tussen historiek en projecten / taken nog niet helemaal.
- Type 'notitie' hebben geen relatie naar projecten en taken
- Type 'todo' heeft activiteit, maar het is mij niet duidelijk of hier relatie is met projecten / taken (hoe koppel je een todo aan een project en aan een taak?)
- Type 'taak' heeft ook activiteit, ook hier de vraag: wat is de relatie.

Projecten lijken alleen aan een contact te hangen (contact_id), of is er ook nog relatie met historiek?

Kun je bij de JOIN naar taken bij de ON toevoegen AND h.type=t.type? Zijn type in historiek en taken ook 'todo' of 'taak'?
 
Brecht S

Brecht S

14/01/2015 21:53:02
Quote Anchor link
- Type notitie heeft inderdaad geen relatie naar projecten en taken.
- Type todo heeft ook geen relatie met projecten/taken. Is enkel maar om in de overzichtlijst te laten verschijnen van de activiteiten of agendapunten die iemand moet doen op een bepaalde dag. Je kan het best met een agenda vergelijken met todo's in.
- Type taak is dan ook de enige die wel iets met projecten/taken te maken heeft. Die komen als 'agendapunt' in de activiteitenlijst naar boven op de actiedatum en moeten ook als todo 'afgewerkt' worden.
De relatie tussen de historiek en de taken zit hem in het type. Dus je redenering van h.type = t.type in een AND toe te voegen aan de ON bij taken lost mijn probleem hier op. Ik krijg nu de juiste lijst te zien die ik nodig had.

Projecten of (project)taken hangen inderdaad enkel maar aan contacten en (project)taken zitten ook altijd onder een project. De enige relatie die het heeft met historiek is het type omdat je dus ook een projecttaak kan maken vanuit die historiek door het type op 'taak' te zetten daar. Uiteraard moet je dan ook een project selecteren, maar dit was al opgelost.

Mijn nieuwe query is nu:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
SELECT
   h.actiedatum,
   h.contact_id,
   h.historiek,
   h.id as hid,
   h.type as htype,
   c.bedrijfsnaam,
   c.voornaam,
   c.achternaam,
   t.id as tid
FROM
   historiek h
JOIN
   contacten c
ON
   h.contact_id = c.id
LEFT OUTER JOIN
   projecten p
ON
   p.contact_id = c.id
LEFT OUTER JOIN
   taken t
ON
   t.project_id = p.id AND h.type = t.type
WHERE
   h.actiedatum <= CURRENT_DATE AND h.afgewerkt <> 'ja' AND h.actiedatum <> '0000-00-00'


Als ik nu $row['tid'] wil oproepen, blijft die leeg. Hoe zou dat komen?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

14/01/2015 22:28:51
Quote Anchor link
Wie weet.
 
Brecht S

Brecht S

14/01/2015 23:15:46
Quote Anchor link
Aan dat antwoord heb ik wel niet veel hé, Ger...
 
Jan de Laet

Jan de Laet

15/01/2015 08:29:49
Quote Anchor link
tid krijgt alleen een waarde als:
- het contact een project heeft en
- project een taak heeft en
- type uit historiek en taak gelijk zijn aan elkaar.

Voor de meeste rijen kun je dus een lege tid krijgen.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

15/01/2015 11:03:10
Quote Anchor link
Het punt is dat hier een poging gedaan wordt om twee totaal verschillende queries in één query te gieten.
Dat kan wel maar het gevolg daarvan is dat je soort van cross join krijgt.
Stel dat contact 1 in de historiektabel x entries heeft en in de takentabel y entries, dan is het (logische) gevolg van de join x*y records.

Een relatie op een niet sleutel kolom is geen relatie (hooguit een one-night stand), je weet in de historiek tabel alleen dat het een taak is, maar niet welke taak.
Daardoor kan je wel de recordset verkleinen, maar blijf je nog steeds alle taken gekoppeld krijgen aan een record van het type "taak" in de historiektabel.

Conclusie: historiek en taken moeten in relatietherapie of je moet in PHP omgaan met de meerdere records.
 
Brecht S

Brecht S

15/01/2015 11:22:54
Quote Anchor link
@ Ger: Denk dat dit nu aan het gebeuren is, inderdaad. Ik had iets over het hoofd gezien gisteren. Het is zo dat indien h.type = t.type en er hangt een taak/taken (projectentaken) of een project/projecten aan dat contact (wat altijd zo zal zijn) dat ik dubbels krijg op dat contact en wel zoveel als er projecttaken zijn voor dat contact (op die moment werkt tid wel).
Kan je dat niet oplossen met een GROUP BY of ORDER BY? Wat zou hier de meest goede oplossing voor zijn. Kan je eens een duidelijk voorbeeld geven waarmee ik aan de slag kan?

Toevoeging op 15/01/2015 11:25:00:

Ger van Steenderen op 15/01/2015 11:03:10:
je weet in de historiek tabel alleen dat het een taak is, maar niet welke taak.

Denk dat hier momenteel het probleem zit...
Gewijzigd op 15/01/2015 11:28:43 door Brecht S
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

15/01/2015 12:01:32
Quote Anchor link
Dus toch relatietherapie, de therapeut is dan een extra tabel:
historiek_taken
- historiek_id (PK)
- taak_id

Op het moment dat je een historiek hebt op een bepaalde taak, sla je de beide id's op in de historiek_taken tabel.

De relatie tussen historiek en historiek_taken is dan 1 - 1/0, en dan doet het bijbehorende project niet meer terzake:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
SELECT
   h.actiedatum,
   h.contact_id,
   h.historiek,
   h.id as hid,
   h.type as htype,
   c.bedrijfsnaam,
   c.voornaam,
   c.achternaam,
   t.id as tid
FROM
   historiek h
JOIN
   contacten c
ON
   h.contact_id = c.id
LEFT JOIN
   historiek_taken ht
ON
   h.id = ht.historiek_id
LEFT JOIN
   taken t
ON
   ht.taak_id = t.id
WHERE
   h.actiedatum <= CURRENT_DATE AND h.afgewerkt <> 'ja' AND h.actiedatum <> '0000-00-00'
Gewijzigd op 15/01/2015 12:04:09 door Ger van Steenderen
 
Brecht S

Brecht S

15/01/2015 13:46:46
Quote Anchor link
Schitterend Ger... Denk dat het is gelukt op jouw manier. Maar moet nog een paar testen uitvoeren om zeker te zijn. Op het eerste zicht lijkt het prima! Thanks!
 

Pagina: « vorige 1 2



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.