Hoe vrienden uit db halen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Starter/junior Magento developer gezocht!

Functie Je komt te werken in een zelfsturend team waarin vertrouwen voorop staat en inbreng en ideeën worden gewaardeerd. Ook staat innovatie centraal. Ze bieden jou de mogelijkheid om jezelf door te ontwikkelen. Denk hierbij aan cursussen en een persoonlijk ontwikkelplan. Je komt terecht in het team van momenteel 4 (ervaren) collega’s en zal meewerken aan de doorontwikkeling en nieuwbouw van de Magento platformen van meerdere opdrachtgevers volgens Agile/Scrum. Denk hierbij aan nieuwe functionaliteiten, UX en koppelingen met verschillende back-end systemen. Als starter/junior developer zul je direct begeleid worden door een senior uit het team. Het is van belang dat

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in de regio van Bergen op Zoom ben je als PHP Developer niet alleen gefocust op het ontwikkelen van Software. Daarnaast ben je ook voortdurend bezig met het zoeken naar nieuwe mogelijkheden en innovaties die essentieel kunnen zijn voor de efficiëntie van software ontwikkeling. Je deelt veel kennis en informatie met het team en ontvangt deze dan ook graag terug. Techstack: PHP, Symfony & mySQL. Bedrijfsprofiel Deze uitdagende opdrachtgever is ruim 20 jaar actief in de regio Bergen op Zoom. Het vooruitstrevende team staat de hele dag voor je klaar om je te helpen en ondersteunen.

Bekijk vacature »

Mendix Developer

Voor Troostwijk Groep zoeken wij een: Mendix Developer Wij zoeken Je bent een getalenteerde en ervaren Mendix Developer en het is tijd om je horizon te verbreden. Je wilt minder coderen en meer modelleren, minder bezig zijn met allerlei technische details en randvoorwaarden en meer met functionaliteit. Daarnaast ben je trots op de innovatieve en gebruiksvriendelijke applicaties die je in de loop van de jaren hebt gebouwd. Werk je graag in een enthousiast team, wil je veel vrijheid en kun je tegelijkertijd goed met deadlines omgaan, dan ben jij absoluut degene die wij zoeken! Wat je nodig hebt is ruime

Bekijk vacature »

Software Ontwikkelaar PHP

Functie omschrijving Full Stack Software Ontwikkelaar gezocht! Voor een bedrijf in de regio van Ermelo zijn wij op zoek naar een Software Ontwikkelaar die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van SaaS applicatie van dit bedrijf. Hierbij ga jij voor- en samenwerken met de klanten van de organisatie, het is hierbij dus van groot belang dat je communicatief vaardig bent en dat je beschikt over beheersing van zowel de Nederlandse als Engelse taal. Bedrijfsprofiel Waar ga je werken? Altijd al in een echt familiebedrijf willen werken? Dan is dit je kans! Het bedrijf waar je komt te

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 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. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van de warehouses. Op dit moment wordt er nog gebruik

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Capelle ad Ijssel Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Een deel van jouw werkzaamheden: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps en Power BI.

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 »

Lead developer (PHP, Symfony, DDD)

Functie Als Lead developer zorg je ervoor dat het team (bestaande uit zowel junior als ervaren developers) in staat is om de kwaliteit van de software (en code) verder te verhogen. In samenwerking met het team, de product owner en de andere lead developers zet je technische lijnen uit en bepaal je de prioriteiten per sprint. Lijkt het jou interessant om complexe problemen op te lossen en bijvoorbeeld een nieuwe applicatiestructuur in Symfony op te zetten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc 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

Bekijk vacature »

Software Programmeur

Functie omschrijving Voor onze opdrachtgever in omgeving Rotterdam zijn wij opzoek naar een software programmeur die goed kan schrijven in de talen C of C++ en die het leuk vind om te werken met Linux! Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed verloopt. Je zult klanten ondersteunen. Verder zul je technische ontwerpen en gebruikersdocumentaties schrijven en deze onderhouden. Bedrijfsprofiel Dit bedrijf wil de klanten een volledige oplossing kunnen bieden, waarbij ze een

Bekijk vacature »

Outsystems Developer Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »

Junior .NET developer

Functie Om half 9 kom jij binnen en pak jij als eerst natuurlijk een bakje koffie of thee. Vervolgens ga jij je voorbereiden op de stand-up van kwart voor 9. Zijn er bijvoorbeeld dingen waar jij nog tegen aan loopt? Of is er nog code die getest of gereviewd moet worden? Vervolgens starten jullie met de stand up en na de stand up zoeken jullie elkaar op en gaan jullie aan de slag. Als team met 6 developers werken jullie in drie wekelijkse sprints. Het einde van een sprint is altijd op een donderdag zodat jullie op vrijdag de demo

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

Kevin Blokzijl

07/03/2011 21:08:32
Quote Anchor link
Hallo,

Ik heb een Ledensysteem, en nu wil ik daar graag de vrienden van de gebruiker uithalen.

Nu heb ik 3 kolommen. Id, user1 en user2
Trouwens, de users komen er in te staan met de usernaam.

Maar de user waar ik nu op het profiel ben, kan in user1`staan en ook in user2

Hoe haal ik ze dan het makkelijkst eruit?

Mvg
Gewijzigd op 07/03/2011 21:10:25 door Kevin Blokzijl
 
PHP hulp

PHP hulp

05/11/2024 11:31:39
 
Jasper DS

Jasper DS

07/03/2011 21:15:42
Quote Anchor link
volgens mij heb je een verkeerd datamodel, of ik begrijp je niet.

zou je het niet beter zo doen:
leden
- id
- naam
- ..

vrienden
- id_lid
- id_vriend

als bijvoorbeeld lid 1 (mark) bevriend is met 5 (marie) en marie bevriend is met 11 (lukas)

dan staat er in vrienden
id_lid - id_vriend
1 - 5
5 - 11
 
Kevin Blokzijl

Kevin Blokzijl

07/03/2011 21:16:28
Quote Anchor link
Ik wil liever niet met id werken, omdat in de andere kolommen ook overl met de usernaam gewerkt wordt
 
Jasper DS

Jasper DS

07/03/2011 21:16:53
Quote Anchor link
dat is niet aangeraden.
 
Kevin Blokzijl

Kevin Blokzijl

07/03/2011 21:18:29
Quote Anchor link
Ok dat lijkt me dan beter,
Maar hoe haal ik dat uit de database?
Gewijzigd op 07/03/2011 21:20:44 door Kevin Blokzijl
 
Jasper DS

Jasper DS

07/03/2011 21:36:40
Quote Anchor link
kijk eens naar de sql beginners handleiding. Als het dan niet lukt, laat dan even zien wat je al hebt.
 
Kevin Blokzijl

Kevin Blokzijl

08/03/2011 18:17:28
Quote Anchor link
Al gekeken, maar kon niet vinden hoe het er staat als een id van de gebruiker in allebei de kolommen kan staan.

Daarnaast vraag ik het niet voor niks hier, een beginnershandleiding kan ik ook wel opzoeken op google.
 

08/03/2011 18:24:22
Quote Anchor link
Kevin Blokzijl op 07/03/2011 21:16:28:
Ik wil liever niet met id werken, omdat in de andere kolommen ook overl met de usernaam gewerkt wordt


PHP Jasper op 07/03/2011 21:16:53:
dat is niet aangeraden.


Onzin. Als je de username unique hebt kan je in principe ook gewoon de username als id gebruiken.
Kevin Blokzijl op 08/03/2011 18:17:28:
Al gekeken, maar kon niet vinden hoe het er staat als een id van de gebruiker in allebei de kolommen kan staan.

(...)

Deze vraag snap ik niet en lijkt mij ook niet logisch. Iemand kan toch niet vriend van zichzelf zijn (zou ik in ieder geval niet toestaan).
Gewijzigd op 08/03/2011 18:26:57 door
 
Marvin Radioo

Marvin Radioo

08/03/2011 18:27:45
Quote Anchor link
Ik snap hem wel :P

In kolom 1 kan het userid van hem staan: 1 en in kolom 2 user 2

maar het kan ook andersom, in kolom 1 2 en in kolom 2 1
Gewijzigd op 08/03/2011 18:28:50 door Marvin Radioo
 

08/03/2011 18:30:30
Quote Anchor link
Sowieso is dat op te lossen met een simpele WHERE Clause.
 
Kevin Blokzijl

Kevin Blokzijl

08/03/2011 18:37:11
Quote Anchor link
Bedankt marvin, zo bedoelde ik dat.

Maar zou je eens een voorbeeld willen geven van zo'n sql code?

Kolom 1 = user1
Kolom 2 = user2
 
Dindong Veter

Dindong Veter

08/03/2011 20:26:20
Quote Anchor link
Kevin Blokzijl op 08/03/2011 18:37:11:
Bedankt marvin, zo bedoelde ik dat.

Maar zou je eens een voorbeeld willen geven van zo'n sql code?

Kolom 1 = user1
Kolom 2 = user2



Met een WHERE Clause wat Karl Karl al zei

WHERE user1 = ID_VAN USER OR user2 = ID_VAN_USER

en dan controleren of de user waarvan je de vrienden wil laten zien 1 of 2 is

Is het 1 dan laat je user2 zien en andersom

voorbeeldje:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$user_friend = ($row['user1'] == $user_id) ? $row['user2'] : $row['user1'];



Natuurlijk kan je deze controle ookzelf in de Query doen
Gewijzigd op 08/03/2011 20:33:17 door Dindong Veter
 

08/03/2011 20:39:37
Quote Anchor link
Dindong Veter op 08/03/2011 20:26:20:
Kevin Blokzijl op 08/03/2011 18:37:11:
Bedankt marvin, zo bedoelde ik dat.

Maar zou je eens een voorbeeld willen geven van zo'n sql code?

Kolom 1 = user1
Kolom 2 = user2



Met een WHERE Clause wat Karl Karl al zei

WHERE user1 = ID_VAN USER OR user2 = ID_VAN_USER

en dan controleren of de user waarvan je de vrienden wil laten zien 1 of 2 is

Is het 1 dan laat je user2 zien en andersom

voorbeeldje:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$user_friend = ($row['user1'] == $user_id) ? $row['user2'] : $row['user1'];



Natuurlijk kan je deze controle ookzelf in de Query doen


Stop. Zo gaan we het niet doen.

Sowieso klopt dit al niet vanuit gebruikersperspectief. Ik hoef niet mijn vriend zijn vrienden te zien. Dat is helemaal niet de bedoeling. Misschien wil ik dat zelfs niet.
Het klopt ook niet vanuit technisch-perspectief. De tabel die Jasper voorstelt is een koppeltabel. Je kunt meerdere vrienden (meerdere persoon) hebben en een vriend (persoon) kan ook meerdere vrienden hebben. Dat betekend dus dat je niet in de record van een persoon kan aangeven welke personen hij als vrienden heeft. Dit is zelfs niet logisch om te hebben. Daarom komt dus een koppeltabel tevoorschijn. Daarin plaats je de primaire sleutel van de persoon en de primaire sleutel van een vriend. Dit samen vormt ook weer een unieke sleutel. Je kan als persoon meerdere vrienden hebben en een vriend kan dus ook meerdere vrienden hebben.
Ook klopt het niet wat jij doet aangezien je nu zegt dat beide kolommen dezelfde eigenschap hebben. Als ze dat hebben kun je ze samen voegen tot één.
 
Kevin Blokzijl

Kevin Blokzijl

08/03/2011 21:03:48
Quote Anchor link
Hoe bedoel je dat dan?
 

08/03/2011 21:05:05
Quote Anchor link
Kevin Blokzijl op 08/03/2011 21:03:48:
Hoe bedoel je dat dan?


wat?
 
Kevin Blokzijl

Kevin Blokzijl

08/03/2011 21:08:15
Quote Anchor link
Nou HOE ik dat nu moet doen.
 

08/03/2011 21:18:26
Quote Anchor link
PHP Jasper op 07/03/2011 21:36:40:
kijk eens naar de sql beginners handleiding. Als het dan niet lukt, laat dan even zien wat je al hebt.


Dit is wel iets wat hierin staat uitgelegd...
 
Roel -

Roel -

08/03/2011 23:40:35
Quote Anchor link
Karl Karl op 08/03/2011 18:24:22:
Kevin Blokzijl op 07/03/2011 21:16:28:
Ik wil liever niet met id werken, omdat in de andere kolommen ook overl met de usernaam gewerkt wordt


PHP Jasper op 07/03/2011 21:16:53:
dat is niet aangeraden.


Onzin. Als je de username unique hebt kan je in principe ook gewoon de username als id gebruiken.
Kevin Blokzijl op 08/03/2011 18:17:28:
Al gekeken, maar kon niet vinden hoe het er staat als een id van de gebruiker in allebei de kolommen kan staan.

(...)

Deze vraag snap ik niet en lijkt mij ook niet logisch. Iemand kan toch niet vriend van zichzelf zijn (zou ik in ieder geval niet toestaan).


Het is misschien niet erg, maar wat als iemand zijn of haar gebruikersnaam wilt wijzigen? Dan moet je óf heel je database doorlopen óf dat is gewoon niet mogelijk.

Zelf werk ik wel altijd op id. (behalve bij help-pagina's)
 

08/03/2011 23:47:07
Quote Anchor link
Ja, dan moet je idd wel iets afdwingen als dat de gebruikersnaam permanent is. Net zoals bij openid het geval is geloof ik.
 
Roel -

Roel -

08/03/2011 23:49:22
Quote Anchor link
Ach, ieder doet het op z'n eigen manier.
Als je liever met gebruikersnaam werkt, dan moet je dat gewoon doen.

Ik werk zelf liever met id, zie m'n argumenten.
Ook hoef ik dan minder te escapen & dus minder te typen ;-)
 
Kris Peeters

Kris Peeters

09/03/2011 10:45:40
Quote Anchor link
Roel van de Water op 08/03/2011 23:40:35:
...wat als iemand zijn of haar gebruikersnaam wilt wijzigen? Dan moet je óf heel je database doorlopen óf dat is gewoon niet mogelijk.


Ook dat is geen probleem.

Met InnoDB kan je met een foreign key werken.
Als je iets aanpast aan die username, wordt die aanpassing dan automatisch ook uitgevoerd op alle andere tabellen, waar de username aan gelinkt is.

Als je een user vernietigt, worden alle records vernietigd waar die username aan gelinkt is.

Ik volg dus Karl.
Er zijn niet echt grondige redenen om dit af te raden.
Gewijzigd op 09/03/2011 10:46:31 door Kris Peeters
 



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.