Hoe vrienden uit db halen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

.NET Developer

Dit ga je doen Tot jouw takenpakket behoort onder andere: Webapplicaties ontwerpen, bouwen, testen en implementeren in .NET/C#.; Ontwikkelen, implementeren en beheren van maatwerkapplicaties; Onderhouden en beheren van standaardpakketten; Onderzoeken en beoordelen van nieuwe technieken. Hier ga je werken Als .NET ontwikkelaar kom je te werken bij een grote semioverheidsinstelling in Nijmegen. De organisatie staat garant voor het leveren van onderwijs en les- en onderzoeksmateriaal voor duizenden betrokkenen. De organisatie wil bijdragen aan een gezonde, vrije wereld met gelijke kansen voor iedereen. Binnen de teams hangt een open en collegiale cultuur met veel aandacht voor een prettige en sociale werksfeer.

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Voor een opdrachtgever, met een prachtig kantoor in omgeving Wateringen zijn wij op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? 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 jij het leuk om in een Agile/Scrum omgeving te werken? Wil jij

Bekijk vacature »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

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 »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Voor een mooi softwarebedrijf in omgeving Moordrecht zijn wij op zoek naar een Embedded Software developer. Ben jij enthousiast en een echte team player? Lees dan snel of dit iets voor jou is! Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Laat dan snel wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot

Bekijk vacature »

Medior Java developer (fullstack)

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 »

C# .NET Software Ontwikkelaar

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 Arnhem 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. Als C# .NET Developer binnen dit bedrijf houd je je niet alleen bezig met het verbeteren van

Bekijk vacature »

.NET developer

Functie Jij begint als .NET ontwikkelaar in een team met 10 andere Software Engineers. De werkzaamheden zijn afwisselend, zo kan het dat jij bezig bent met volledig nieuwe features of het door ontwikkelen van bestaande sites of shops. Wij ontwikkelen web applicaties, maar ook mobiele applicaties. Daarnaast bijt jij je soms ook van in externe koppelingen met systemen zoals een ERP. Als team is er een duidelijke focus m.b.t. het waarborgen van de performance en snelheid van webshops. Ook zijn wij expert op het gebied van configuratoren. Kortom enorm veel afwisselende werkzaamheden! Ook jouw werkplek kan afwisselend zijn. Soms heb

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 »

Low-code developer

Functie omschrijving Heb jij altijd al een training willen volgen in het buitenland? Voor een leuke opdrachtgever in omgeving Alphen ad Rijn zijn wij op zoek naar kandidaten die aan de slag willen als Low Code Developer! Beschik jij over HBO/WO nivo, bij voorkeur Informatica, maar een ander technische opleiding zoals bijv. wiskunde, natuurkunde is ook goed. Heb jij aantoonbare affiniteit met IT en ben jij gedreven, enthousiast, communicatief vaardig en klantgericht? Lees dan snel verder! Je wordt getraind tot een volwaardig Low Code Developer, het traject ziet er als volgt uit: Start 1e week januari, opleiding van 3 weken

Bekijk vacature »

Junior Outsystems developer

Functie Als junior Outsystems developer wordt jij onderdeel van een multidisciplinair team van 23 software engineers. Ons team werkt agile en termen als Continuous Integration en Continuous Delivery zijn bij ons dagelijkse koek. Wij werken aan uitdagende en afwisselende projecten met als doel onze klanten een totaal oplossing aan te bieden. Als junior Outsystems developer krijg jij bij ons de kans om jezelf te ontwikkelen naar een volwaardige ervaren en gecertificeerde Outsystems developer. Jij een team met ervaren mensen (10+ ervaring) om je heen. Zo heb jij niet het gevoel dat jij meteen in het diepe wordt gegooid en uiteraard

Bekijk vacature »

Ervaren Full-Stack PHP Developer

Functieomschrijving Gezocht! Ervaren PHP Developer! Voor een organisatie in de regio Harderwijk zoeken wij een ervaren PHP Developer die het IT team van dit bedrijf gaat versterken. We zijn op zoek naar een enthousiaste en breed georiënteerde IT-er die het innovatieve bedrijf nog een stap verder kan brengen. Voor deze functie zoeken wij iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je werkt samen met een externe ontwikkelpartij en kunt hun dus uitdagen op het geleverde werk. Het schrijven van concepten aan de AI en hardware kant valt onder je verantwoordelijkheden. Het bedrijf noemt zichzelf een

Bekijk vacature »

PHP Developer

Dit ga je doen Je werkt nauw samen met het websitebureau aan de ontwikkeling en optimalisering van het internationale platform; Je ziet nieuwe webshops op en voert optimalisaties door; Je bouwt aan technische, functioneel en commercial resultaat; Je vindt het leuk om zelfstandig binnen een internationale organisatie te werken, maar krijgt ook energie om samen met collega's te werken. Hier ga je werken Voor een bedrijf in de regio Rotterdam zijn wij opzoek naar een PHP Developer. Je wordt onderdeel van het communicatieteam en gaat je bezighouden met het optimaliseren van de website van dit internationale bedrijf. Je schakelt veel

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

25/04/2024 06:52:30
 
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.