Gegevens oproepen uit twee tabellen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack Webdeveloper .NET Azure Big Data SaaS

Bedrijfsomschrijving Deze klant van ons is recentelijk onderdeel geworden van een grote moederorganisatie, ze zijn dé partij als het gaat om software maken voor ambitieuze ondernemers, ze maken maatwerk software. Vanuit het fantastisch vormgegeven hightech gebouw te Rotterdam centrum werken ze met zo'n 40 medewerkers aan hoogwaardige software gericht op financiële data, betaalinformatie, maar ook backoffice software. De software wordt webbased, desktop en mobile aangeboden en er worden zeer moderne ontwikkeltechnieken toegepast. Je moet dan denken aan patroonherkenning, Big Data, Machine Learning en OCR. Als Developer, ongeacht je niveau, ga je hier te maken krijgen met de allerleukste kant van

Bekijk vacature »

Full Stack Developer

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail; Verantwoordelijk voor de front-end werkzaamheden; Naast de front-end werk je ook aan de backend. Hier ga je werken Als Full Stack Developer komt je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development

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 »

Junior Back end developer PHP, Symfony

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving 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! Voor een opdrachtgever in omgeving Delft 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. 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 »

Traineeship Fullstack developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

Bekijk vacature »

Fullstack JavaScript developer (ReactJS, NodeJS, T

Functie Het team bestaat momenteel uit ruim 15 collega’s, waarvan ruim de helft in het ontwikkelteam werkzaam is. Er zijn gave plannen om het platform ook te gaan toepassen op bijv. vliegvelden, maar ook internationale groei zit in het verschiet en daarom zijn ze op zoek naar versterking. Als Fullstack JavaScript developer werk je nauw samen met 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creeren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

Bekijk vacature »

C# .NET developer voor innovatieve applicaties gez

Bedrijfsomschrijving Deze werkgever houdt zich al ruim 20 jaar bezig met het ontwikkelen van innovatieve software en dat willen ze graag nog lang doorzetten. En dat merk je ook als je als .NET developer hier aan de slag gaat. De applicaties worden continu doorontwikkeld met altijd als uitgangspunt dat zowel de kwaliteit als het gebruikersgemak van hoog niveau is. Het bedrijf telt inmiddels ruim 25 medewerkers waarvan meer dan de helft op de development afdeling werken. Meer weten over deze werkgever? Mail naar [email protected] of bel 0657578548 Functieomschrijving Je komt te werken in een Scrum team met andere .NET developers

Bekijk vacature »

Lasrobotprogrammeur/operator

Heb je interesse in trekkers en beschik je overvlijmscherpse precisie? Solliciteer dan op deze vacature! Als Lasoperator ben je vooral bezig met het maken van nieuwe lasrobotprogramma’s en het optimaliseren van bestaande programma’s, zowel online als offline (incl. het bedienen van de Lasrobots). Daarnaast draag je bij aan een optimaal rendement van de las robots. Verder heb je de volgende werkzaamheden: Het meewerken als operator c.q. Robotlassen niveau 2 (van complexe samenstellingen/halffabricaten), het om- en instellen van de diverse stations van lasmallen (productdragers), het afwerken van laswerk (verwijderen lasspetters en oxiden), het bewaken van de machineplanning (op bewerkingen) incl. de

Bekijk vacature »

Robot Programmeur

Een verantwoordelijke baan met leuke uitdagingen. Heb jij ervaring met het programmeren van robots? Kan jij goed samenwerken met collega's die verschillende specialisaties hebben? Ben je oplossingsgericht, analytisch en flexibel? Ga dan aan de slag als Robot Programmeur bij Gibas in Nijkerk! Als Robot Programmeur kom je te werken bij Gibas. Dat betekent dat je gegarandeerd meewerkt aan unieke oplossingen in productieprocessen. Bij elk project moet er opnieuw geëngineerd en geprogrammeerd worden. Dat maakt jouw werk uitdagend! Voordat je robots gaat programmeren komt er het volgende bij kijken: De opdracht gaat van de afdeling Sales naar de afdeling Operations door

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 »

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 »
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

25/12/2024 04:13:50
 
- 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.