Gegevens oproepen uit twee tabellen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Account Developer

Voor Bol.com zijn wij per direct op zoek naar een Account Developer voor 32-40 uur per week op het kantoor in Utrecht. Wil jij een directe bijdrage leveren door partners van de juiste data-inzichten te voorzien en via campagnes op nieuwe platformkansen en features te wijzen? Ben jij analytisch sterk en kun jij dit vertalen naar plannen en inspirerende gesprekken? Lees dan snel verder! wat bieden wij jou Salaris van €2400 - €2600 obv 40 uur Minimaal 6 maanden Werklocatie is Utrecht Werken bij bol.com wie ben jij Jij bent commercieel gedreven en weet altijd aan de juiste knoppen te

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Amersfoort gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Bedrijfsprofiel De organisatie waar je voor gaat werken heeft een onafhankelijk dataplatform ontwikkelt voor de agrarische sector.

Bekijk vacature »

Software Developer

Dit ga je doen Ontwerpen, ontwikkelen en onderhouden van (mobiele) internettoepassingen; Ontwikkelen en onderhouden van Microservices; Ontwerpen en optimaliseren van databases; Identificeren van nieuwe trends/ontwikkelingen binnen de branche. 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 zich op het leveren van kwalitatief hoogwaardige producten aan alle hun klanten. De organisatie telt circa 4.000 medewerkers in meer dan 10 verschillende landen. Momenteel is de organisatie op zoek naar een Software Developer wilt meewerken aan het

Bekijk vacature »

Typescript Developer / Cloud platform

Dit ga je doen (Door)Ontwikkelen van het cloud platform; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het cloud platform; Sparren met de business. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt

Bekijk vacature »

Front end developer Zorgplatform

Functie Jij als Front end ontwikkelen zult komen te werken samen met 1 PHP ontwikkelaar, 1 Python developer en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De Marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult als Front ender dus voornamelijk bezig zijn met het verbeteren van onze interfaces op onze verschillende producten. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere

Bekijk vacature »

Front end developer

Functie Jij als front end developer gaat werken binnen de teams van onze klant, uiteraard met alle moderne technieken. Opdrachten worden echt gericht op jouw leerdoelen en jouw behoeftes. Wij hebben een omgeving gecreëerd waarin je echt jezelf kan zijn en waar echt gekeken wordt naar jouw voorkeuren. Maak je een fout? Geen probleem, leer ervan en dan ga weer door. Door de variëteit aan werk kun je in verschillende omgevingen een kijkje nemen en dus jezelf snel ontwikkelen. Eisen Je bent communicatief vaardig en houdt van een dynamische omgeving Je hebt HBO werk- en denkniveau Je hebt gedegen kennis

Bekijk vacature »

Cloud Developer

Cloud Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

IoT Developer

Ben jij innovatief, heb jij passie voor energie en ben je data gedreven? Bouw dan mee aan IoT binnen Bredenoord. Samen met een gedreven team werk jij aan mooie technische en innovatieve oplossingen. Wat houdt de functie van IoT Developer in? Binnen Bredenoord zijn wij momenteel volop in ontwikkeling met ons IoT platform. Als uitbreiding van ons team zijn wij op zoek naar een IoT Developer. Je zal in projectverband meehelpen met het implementeren van IoT vraagstukken binnen Bredenoord. Als IoT Developer op onze R&D-afdeling word je verantwoordelijk voor het verder inrichten en beheren van ons nieuwe IoT platform. Dat

Bekijk vacature »

.NET Developer Medior Senior

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Herbruikbare componenten maken; Testen; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als .NET Developer kom jij terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als .NET Developer werk jij aan het ontwikkelen van verbeterde software voor

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 »

Junior .NET developer

Functie Als junior .NET developer begint jouw dag na een bak koffie met een stand up. De vorderingen worden tijdens de stand up besproken en de doelen worden opgesteld waar jullie als team in de volgende sprint naartoe gaan werken. Onze backend is geschreven in .NET Core en onze Front-end in Angular. Bij ons ga jij dan ook Fullstack aan de slag. Jij wordt hier opgeleid om zelfstandig te kunnen programmeren en applicaties te kunnen implementeren. Er wordt op projectbasis gewerkt, dit bied leuke uitdagingen omdat elke klant een andere visie heeft over de applicatie die wij maken. Je gaat

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »

Junior Low-code ontwikkelaar gezocht omgeving Arnh

Bedrijfsomschrijving Wij zijn een dynamisch IT-bedrijf dat zich richt op het stroomlijnen van bedrijfsprocessen en het creëren van ondersteunende applicaties. Onze kracht ligt in het combineren van zakelijk inzicht met IT-expertise via gestroomlijnde procesontwerpen en wendbare applicatieontwikkeling met behulp van Low-code technologieën. Als jonge professional krijg je de kans om samen te werken met een team van 15 deskundige collega's, verspreid over nationale en internationale locaties. We bieden je een leerzame omgeving waar je je vaardigheden kunt ontwikkelen en groeien in je rol als Low-code ontwikkelaar. Word jij onze nieuwe Junior Low-code Ontwikkelaar (OutSystems)? Versterk ons team en draag bij

Bekijk vacature »

Front end developer binnen het onderwijs

Functie Het doel van dit team is om te zorgen dat de studenten altijd op de hoogte zijn van relevante informatie en de mogelijkheid hebben om online vragen te stellen. Hiervoor hebben ze een portal ontwikkeld. De app is echt een greenfield project met een eigen inrichting middels cloud. De ontwikkeling wordt gedaan door gebruik te maken van oa. Javascript, React, CSS, Next.js, GraphQL in een Azure Cloud omgeving. Daarnaast gebruiken ze tooling als Figma, storybook, Jest en Github. De complexiteit in deze rol zit hem in het feit dat data uit verschillende bronsystemen komt waarbij er zowel gekoppeld wordt

Bekijk vacature »

Back end developer Python, PHP

Functie Jij als full stack ontwikkelaar zult komen te werken samen met 1 PHP ontwikkelaar een PO en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult voornamelijk (lees 75%) werken aan de roostersoftware. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere flexwerkers ingezet kan worden. Verder willen ze financiële koppelingen gaan maken

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

23/11/2024 11:57:35
 
- 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.