Gegevens oproepen uit twee tabellen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Als Lead PHP developer bijdragen aan het onderwijs

Functie Als Lead PHP developer zet je samen met het team en de andere lead developers de technische lijnen uit als het gaat om het ontwikkelen van de applicaties en bepaal je samen met de PO waar elke sprint aan gewerkt zal worden. Je kunt op basis van een user story een goede aanpak formuleren en een planning opstellen, en andere hierin meenemen. Wanneer je team code schrijft verwacht je degelijke oplossingen, bij voorkeur gebruik makend van Domain Driven Design. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit

Bekijk vacature »

Web Application Developer

Dit ga je doen Samen met het team werk je aan de visualisatie functionaliteiten en hoe dit gebruikt kan worden in een operationele setting; Het ontwerpen, ontwikkelen, onderhouden en leveren van support betreft het Warehouse Management Systeem en de bijbehorende web visualisaties; Je gebruikt hierbijde tools WebGL en ASP.net; Het meewerken in implementatieprojecten; Het leveren van Go-Live Support; Sparren met jouw Amerikaanse collega's. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Web Application Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Medior/senior Back-end developer gezocht!

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het devlopmenttean. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met de

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je werkt mee aan de migratie naar .NET 6; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Zij zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

Full Stack Developer

Ben jij een kei van een full-stack developer? Heb je ambitie om te groeien en jezelf te ontwikkelen binnen een ambitieus bedrijf? Gaat jouw hart sneller kloppen van transpilers of frameworks zoals Angular, Vue of React? Dan ben jij de persoon die wij zoeken! Voor onze opdrachtgever zijn wij op zoek naar een full-stack developer om onderdeel te zijn van een team dat bestaat uit gedreven developers. Ieders met hun eigen specialiteiten en kennis van de projecten en behoeften vanuit de product owners. We zoeken iemand die met zijn/haar huidige competenties en domeinen dit team wil begeleiden, stimuleren en tevens

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

Bekijk vacature »

.NET Developer C#

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken Als C# .NET Developer wordt je verantwoordelijk voor het ontwikkelen van applicaties voor belangrijkste product van deze organisatie. Dit product is een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Er

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# 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

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Dordrecht zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden je MBO of HBO ICT in ontvangst mogen nemen? Of ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een uitdagende werkgever in de regio van Tilburg zijn wij op zoek naar een ambitieuze back-end programmeur met affiniteit met MS Acess. Samen met een enthousiast team ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL, Maar affiniteit met MS Acess is nog belangrijker. Je bent sociaal naar klanten en flexibel ingesteld. Je denkt altijd in kansen en gaat graag de uitdaging aan. Verder

Bekijk vacature »

Front end ontwikkelaar

Functie Het huidige team bestaat uit momenteel uit 5 back end developers verdeeld van senior tot junior. Omdat de gehele front end van applicaties anders gaan insteken zijn ze op zoek naar een ervaren Front end developer die hen kan helpen de juiste keuzes te maken. Je krijgt veel vrijheid om te bepalen hoe je dit wilt ontwikkelen en vrijheid in welke techniek je hiervoor wilt gebruiken. Je zult je dus bezighouden met architectuur, documentatie en natuurlijk ontwikkeling van nieuwe functionaliteiten binnen de verschillende applicaties. natuurlijk heb jij ook mogelijkheden om te sparren binnen het team, maar ze gaan uit

Bekijk vacature »

Full Stack .NET Developer C# ASP.NET

Samengevat: Deze werkgever is gespecialiseerd in het op afstand bewaken en besturen van machines en processen. Ben jij een ervaren Full Stack .NET Developer? Heb je ervaring met C# en ASP.NET? Vaste baan: .Net Developer C# ASP.NET HBO €3.300 - €4.500 Deze werkgever is een snel groeiende onderneming gespecialiseerd in het op afstand bewaken en besturen van machines en processen, IoT (Internet of Things). Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Wil jij bij de top specialisten horen? Ben jij op zoek naar een

Bekijk vacature »

Front-end developer Consultancy in teamverband wer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers. Momenteel zijn ze op zoek naar een ervaren Front-end of Fullstack developer die samen met de consultants aan de slag gaat om de business requirements te vertalen naar technische oplossingen. Los van het finetunen van extenties, help je bij het configureren van bijvoorbeeld een mobiel bankieren app. Hierin ben je van A tot Z betrokken en zie je bijvoorbeeld ook toe op de uitvoering van testen. Je expertise wordt optimaal benut en je krijgt verschillende kansen om deze uit te breiden door met verschillende innovatieve technologieën aan

Bekijk vacature »
Ty Muus

Ty Muus

21/10/2018 19:40:36
Quote Anchor link
Beste guru's,

Mijn vraag gaat over het volgende. Ik heb een soortpagina waarin de soortcode in de url staat.
Bijv. http://www.website.nl/soortpagina.php?code=1002 (niet bestaande website!)

Alle info uit de db wordt opgehaald door de GET functie.

Vanuit de soortcode roept hij uit tabel "verwantesoort" de soorten op die er op lijken.
Dus op de soortpagina van 1002 (koolmees) toont hij een foto van 1092.jpg (pimpelmees).
Echter wil ik bij deze echo ook de soortnaam onder de foto vermelden, die uit de "naamlijst" wordt opgehaald. Door simpelweg te kijken: welke soortnaam hoort er bij 1092? Aha: 1092.jpg + Pimpelmees.

Hoe doe ik dat?

Alvast mijn hartelijke dank!

db_verwantesoort
------------------------------------------------------------------
id code naam verwantesoort1 verwantesoort2
----- ----- ----- ------------- --------------
1 1002 Koolmees 1092 1144
2 1005 Vink
3 1090 Specht
4 1092 Pimpelmees 1002

db_naamlijst
-------------------------
id code naam
----- ----- -----
1 1002 Koolmees
2 1005 Vink
3 1090 Specht
4 1092 Pimpelmees
Gewijzigd op 21/10/2018 19:41:22 door Ty Muus
 
PHP hulp

PHP hulp

07/05/2024 21:33:31
 
- Ariën  -
Beheerder

- Ariën -

21/10/2018 20:13:55
 
Ty Muus

Ty Muus

21/10/2018 20:35:36
Quote Anchor link
Bedankt! Daar heb ik wat aan.
Ik heb nu wat gestoeid om zo'n query op te stellen voor elke eventuele verwante soort.
Echter, ik krijg de melding: Column 'code' in where clause is ambiguous
Quote:
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
<?
$code
= $_GET['code'];
$query1 = mysqli_query("SELECT * FROM db_gelijkend JOIN db_naamlijst ON db_gelijkend.soort1 = db_naamlijst.code WHERE code = '$code'") or die (mysqli_error());
$var1 = mysqli_fetch_object($query1);
$query2 = mysqli_query("SELECT * FROM db_gelijkend JOIN db_naamlijst ON db_gelijkend.soort2 = db_naamlijst.code WHERE code = '$code'") or die (mysqli_error());
$var2 = mysqli_fetch_object($query2);
$query3 = mysqli_query("SELECT * FROM db_gelijkend JOIN db_naamlijst ON db_gelijkend.soort3 = db_naamlijst.code WHERE code = '$code'") or die (mysqli_error());
$var3 = mysqli_fetch_object($query3);
$query4 = mysqli_query("SELECT * FROM db_gelijkend JOIN db_naamlijst ON db_gelijkend.soort4 = db_naamlijst.code WHERE code = '$code'") or die (mysqli_error());
$var4 = mysqli_fetch_object($query4);
$query5 = mysqli_query("SELECT * FROM db_gelijkend JOIN db_naamlijst ON db_gelijkend.soort5 = db_naamlijst.code WHERE code = '$code'") or die (mysqli_error());
$var5 = mysqli_fetch_object($query5);
$query6 = mysqli_query("SELECT * FROM db_gelijkend JOIN db_naamlijst ON db_gelijkend.soort6 = db_naamlijst.code WHERE code = '$code'") or die (mysqli_error());
$var6 = mysqli_fetch_object($query6);
?>


Wat doe ik fout? Vast veel..
Gewijzigd op 21/10/2018 20:37:56 door Ty Muus
 
- Ariën  -
Beheerder

- Ariën -

21/10/2018 22:10:20
Quote Anchor link
Je hebt meerdere velden in het result van je query die 'code' heten. Benoem daarom de velden i.p.v. alles met een * op te halen. Ook moet je de tabelnamen aan je geselecteerde velden meegeven, of een alias gebruiken. En dat gebeurt ook niet in je WHERE.

Ook zijn meerdere queries zwaar overkill. Als je velden gaat nummeren, dan moet je zeker eens naar databasenormalisatie kijken. Je moet je database in de lengte kunnen uitbreiden, en niet 'in de breedtte.'
Gewijzigd op 21/10/2018 22:16:51 door - Ariën -
 
Ty Muus

Ty Muus

27/10/2018 13:10:55
Quote Anchor link
Bedankt Ariën!

Ik heb me ingelezen op het artikel die je meestuurde en heb een regel die nog niet doet wat hij moet doen.
Maar hoe specifieker ik ook ben, hij levert nog niet het bevredigende resultaat op.

Zie jij waar het hem in zit?

Databasenormalisatie ga ik in de toekomst mee bezig, het is best een heel erg grote database die nog altijd werkt, dus dat doe ik als stap 2.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$code = $_GET['code'];
$query = "SELECT a.code,a.verwantesoort1,b.code,b.naam FROM db_verwantesoort a INNER JOIN db_naamlijst b USING ($code) WHERE a.code=b.code";
Gewijzigd op 27/10/2018 13:12:16 door Ty Muus
 
- Ariën  -
Beheerder

- Ariën -

27/10/2018 13:22:09
Quote Anchor link
Als je nu je database gaat normaliseren heb je straks minder werk met ombouwen van alle queries.
Wat voor resultaat komt er nu dan uit? En wat verwacht je?

PS: Ik zie SQL-injection in je GET.
Gewijzigd op 27/10/2018 13:22:39 door - Ariën -
 
Ty Muus

Ty Muus

27/10/2018 13:42:53
Quote Anchor link
Het probleempje is dat mijn website beheerder gestopt is met zijn werk en ik als geen-PHP kenner de boel nu moet 'doorscripten'. Normaliseren is dan misschien een best wel grote stap om in één keer te doen. Neemt niet weg dat ik me eens in ga lezen. Er zijn zo'n 5 tabellen die ik begonnen ben te splitten zodat het een enkele tabel wat ontlast. Het zijn bijna 1500 soortpagina's die ik nu met elkaar wil verbinden door "verwante" soorten. Ik zal ook zeker nog wat beveiligingen in moeten bouwen. GET is denk ik ook al wat verouderd.

Maar:

De echo geeft geen resultaat. Ik heb bijv. 3 echo's als test in het vervolg gezet, bijv. "". $var->verwantesoort1 ."", ze geven allen een leeg veld.

Ik verwacht hier dat soort met de code X toch nu wel uit op z'n minst beide tabellen de output geeft.
Gewijzigd op 27/10/2018 13:44:26 door Ty Muus
 
Thomas van den Heuvel

Thomas van den Heuvel

27/10/2018 14:49:46
Quote Anchor link
Op het moment dat je database tabellen heeft met kolomnamen als verwantesoort1, verwantesoort2 en soort1, soort2, soort3 et cetera dan wordt het tijd om eens goed na te gaan denken over het database-ontwerp. Dit schreeuwt namelijk om koppeltabellen om informatie aan elkaar te rijgen.

Hier nog een kolom bijmetselen is niet de oplossing want zoals je in bovenstaande code al ziet levert dit ook draken van queries op - je hebt het jezelf effectief onmogelijk gemaakt om op een makkelijke manier de data weer uit je database te trekken. Dat is niet het idee noch de bedoeling van databases.

Over het laatste fragment:
Quote:
Column 'code' in where clause is ambiguous

Hier staat precies wat er aan scheelt: de "code" kolom in het "where" gedeelte is dubbelzinnig omdat je niet aangeeft tot welke tabel (db_gelijkend of db_naamlijst) deze zou moeten behoren. Beide tabellen hebben een kolom genaamd "code" en als het systeem zou moeten raden welke dit zou moeten zijn pakt 'ie waarschijnlijk de verkeerde :).

Mijn advies zou zijn: zet een nieuwe database op en probeer de data geautomatiseerd te overhevelen. Als je het op die manier doet maakt het in principe niet uit uit hoeveel records je tabellen bestaan omdat het allemaal op dezelfde manier werkt en dus ook op dezelfde manier kan worden overgezet.

Daarbij doe je er verstandig aan om echt een relationele database op te zetten waarbij de verbanden ook echt hard worden vastgelegd, anders hangen alle tabellen nog steeds als los zand aan elkaar waarbij, zoals dat dan deftig heet, "de onderlinge kloppendheid van de data" (referentiële integriteit) niet kan worden gewaarborgd.
 
Ty Muus

Ty Muus

28/10/2018 14:49:41
Quote Anchor link
Hoi Thomas,

De datasets maak ik in CSV en importeer ze door ze om te zetten naar SQL. Kan het dan nog wel werken zoals jij beschrijft? Door ze te exporteren en weer te importeren krijg ik veelal afgebroken teksten etc. Ik heb dus slechte ervaringen met 'grote' tabellen. Het is de enige manier van hoe ik...denk ik...kan werken. Juist ook omdat complete data vanuit een grote landelijke database in één tabel moet worden ingevoegd.
Ik heb nu heel wat klusjes te doen merk ik; wat maakt dat ik na inlezen en uitproberen over 10 jaar klaar ben met de website. Haha. Het is niet dat ik het niet wil, maar niet weet hoe het werkt.

Ik heb nu letterlijk alle tabellen met elkaar verbonden door de unieke soortcode. Elke tabel heeft deze. Ook soortfoto's dragen code_1.jpg etc.
Het enige wat hij hoeft te doen, is de code van de verwante soort ophalen uit de naamlijst. Hij toont natuurlijk nu wel gewoon de foto's van de verwante soorten, bijv. 1012_1.jpg, maar ik wil de naam er onder hebben staan.

Door A en B mee te geven dacht ik het juist specifiek te hebben gemaakt. Dus ik zie het niet...
Een voorbeeldscript die wel gewoon werkt is SELECT * FROM db_naamlijst WHERE code LIKE '$code'". Dan zou hij dit toch ook moeten kunnen 'ophalen' zou je denken?
Gewijzigd op 28/10/2018 14:59:51 door Ty Muus
 



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.