Serialize Unserialize

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Starter/junior PHP developer

Functie Momenteel zijn ze op zoek naar een junior PHP developer om het team te versterken. Als back-end developer bouw je de enterprise software die hun bedrijf helpt bij haar primaire processen. Afhankelijk van de omvang van het project werk je in een klein team aan een project. Ze hebben dagelijkse stand-ups en elke twee weken een scrumsessie, begeleid door de Scrum Master, waar je je ideeën kunt presenteren en samen met de Product Owner kunt werken aan het beste product. Ze vertrouwen enorm op hun eigen bedrijfssoftware. Dit geeft hun een groot voordeel ten opzichte van hun concurrentie. Zo

Bekijk vacature »

Ervaren Full stack developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house functie bij een bedrijf met enorme groeipotentie? Ben jij op zoek naar een nieuwe uitdaging vol afwisseling en gezelligheid? Dan ben je bij dit bedrijf aan het juiste adres! Wij zijn in omgeving Breda op zoek naar een ervaren full stack developer. Je gaat werken voor een zeer gewilde werkgever met goede arbeidsvoorwaarden. Je krijgt een plekje in het jonge IT team, work hard, play hard is hier duidelijk het motto! Jouw werkzaamheden zien er als volgt uit: Jij bent verantwoordelijk voor het ontwerpen en bouwen van webapplicaties. Je bent

Bekijk vacature »

Front-End Developer

As a Front-End Developer at Coolblue you improve the user-friendliness of our webshop for millions of customers. How do I become a Front-End Developer at Coolblue? As a Front-End Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present these within the team. You also take pride in your work and welcome any feedback. Would you like to become a Front-End Developer at Coolblue? Read below if the job suits you. You

Bekijk vacature »

APEX Ontwikkelaar in een team van Oracle Developer

Bedrijfsomschrijving Wij zijn op zoek naar een APEX Ontwikkelaar om onze opdrachtgever in Den Haag te versterken. In deze rol zul je verantwoordelijk zijn voor het ontwikkelen en onderhouden van de front-end van onze applicaties met behulp van Oracle Application Express (APEX). Je werkt aan zowel inhouse als externe projecten. De sfeer binnen het Oracle team is gemoedelijk en men probeert elkaar te helpen én van elkaar te leren. Zo ontstaat er een prettige en plezierige werksfeer waar ruimte is voor persoonlijke ontwikkeling en groei. Er wordt gewerkt met de meest nieuwe technologieën waardoor je kennis up-to-date blijft. Het bedrijf

Bekijk vacature »

Full stack ontwikkelaar Laravel, Vue.js

Functie Als ontwikkelaar binnen deze organisatie hou jij je voornamelijk met lopende projecten voor de verschillende klanten. Zo bouw je de ene dag aan prijsschifting systemen en de andere dag onderzoek je crawlers en stel je ze zo in dat de data goed binnen komt binnen het systeem. Daarnaast bouw je mee aan dashboards en ben je dus constant bezig met het verbeteren van het platform. Er is een vaste werkwijze, zo werken ze met Trello kaarten en onderverdelen ze deze aan het begin van iedere week onder de developers. Dit wordt door de lead developer gedaan, maar in samenspraak

Bekijk vacature »

Ontwikkelaar Centrale Monitoring

Ontwikkelaar centrale Monitoring Functieomschrijving Wil jij een bijdrage leveren aan het onderhoud, opzetten en ontwikkelingen van technologieën van SSC-ICT, een van de grootste ICT-dienstverleners van en voor de Rijksoverheid? Je komt als monitorspecialist te werken bij team Operations Management Services. Dit team werkt aan het stabiliseren en waarborgen van een betrouwbare monitoromgeving voor 7 ministeries. Jij begeleidt het implementatieproces van de te monitoren technologieën, onder andere via management packs, connectoren en API's. Je hebt hiervoor veel contact met interne en externe klanten, die hun wensen op het gebied van monitoring aan jou doorgeven. Je beoordeelt deze wensen en komt met

Bekijk vacature »

PHP Programmeur

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda, ontwikkel je als PHP programmeur niet alleen webapplicaties, maar ben je verder ook gefocust op het constant inspelen op nieuwe innovaties m.b.t software ontwikkeling. Naast het ontwikkelen van webapplicaties, bouwt deze toffe werkgever ook webshops en websites voor hun opdrachtgevers. Wat ga je doen? Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het ontwerpen en implementeren van webapplicaties met het Symfony framework; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden en updaten van bestaande applicaties die

Bekijk vacature »

Digitale Tovenaar Gezocht: Junior Low-code/No-code

Bedrijfsomschrijving Duik mee in een wereld vol innovatieve avonturen waar gegevens en technologie een magische symbiose aangaan! Al meer dan twee decennia lang zijn we de tovenaars achter de schermen die oplossingen creëren voor de meest complexe klantcontactvraagstukken en datagedreven software-uitdagingen. Bij ons draait het om de kracht van samenwerking en groei. We zijn een hechte vriendengroep die samen bergen verzet om elkaar én onze klanten te laten schitteren. Jouw succes is ons succes en we streven ernaar om elkaar naar nieuwe hoogten te tillen, niet voor even, maar voor altijd. We willen dat jij je helemaal thuis voelt in

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

Bekijk vacature »

Developer Full Stack

Functie omschrijving Developer gezocht! Ben jij een enthousiaste developer die graag wil bijdragen aan ontwikkelingen binnen een mooie organisatie? Solliciteer dan snel. Wij zijn op zoek naar een Full Stack Developer uit de regio Nijkerk die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een SaaS applicatie. Je moet beschikken over beheersing van zowel de Nederlandse als Engelse taal aangezien je samen met de klant gaat werken. Bedrijfsprofiel Je komt te werken binnen een echt familiebedrijf dat al sinds 1925 actief is binnen de FMCG branche. Het bedrijf heeft 40 medewerkers en er heerst een platte communicatiestructuur waarbij

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Roosendaal, ontwikkel je als PHP Developer niet alleen webapplicaties, maar ben je verder ook gefocust op het continu inspelen op nieuwe trends en ontwikkelingen m.b.t software development. Naast het bouwen van webapplicaties, ontwikkelen zij ook webshops en websites voor gave opdrachtgevers! Wat ga je doen? Het schrijven van schone en efficiënte codes volgens het Symfony framework; Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het Symfony framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de

Bekijk vacature »

Medior/senior Front-end developer (Vue.js)

Functie Als Front-end developer ben je uiteindelijk overkoepelend aan de slag voor de 3 ontwikkelteams die ieder aan een specifiek product werken. In samenwerking met de UX-designer en de huidige Front-end developer zorg je voor gebruiksvriendelijke software. Lijkt het jou interessant om complexe problemen op te lossen en feautures naar een hoger niveau te tillen? En vind je het niet erg om oudere delen van de applicaties te refactoren i.c.m. het toevoegen van nieuwe functionaliteiten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en zelfredzaamheid)

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 developer

Functie Als junior .NET ontwikkelaar ga jij aan de slag in één van de 5 IT teams van dit bedrijf. Jullie werken op basis van interne klantprojecten aan voornamelijk webapplicaties. Dit betekent dat jij continu uitgedaagd wordt en veelal met verschillende soorten projecten bezig bent. Het gave is dan ook dat jullie als team samen bekijken welke technieken het beste passen bij het project waar jullie verantwoordelijk voor zijn. Zo kan het zijn dat jij als .NET developer gaat werken aan een project, maar dat jullie als team liever gebruik maken van Haskell of F# om de klus te klaren.

Bekijk vacature »

Software Developer C# - Deventer

Software Developer C# – Deventer Bijdragen aan de toekomst van het onderwijs! Ben jij op zoek naar een dynamische omgeving waar vol enthousiasme wordt gewerkt aan software voor interactieve dashboard- en analysetoepassingen ter verbetering van het onderwijs? Dan zijn wij het bedrijf voor jou! TIG is een bedrijf met een informele en ondernemende werksfeer, waarbij goede ideeën snel leiden tot concrete acties. Wij zijn een software ontwikkelorganisatie en focussen ons op het ontwikkelen en implementeren van oplossingen voor het leveren van managementinformatie, datavisualisatie en analyses voor het onderwijs. Met onze dashboard- en analyseoplossingen zetten scholen gegevens om naar betekenisvolle informatie.

Bekijk vacature »

Pagina: 1 2 volgende »

Arno van Zanten

Arno van Zanten

01/04/2023 17:36:38
Quote Anchor link
Wie kan mij helpen met dit?
Ik wil van een gebruiker naar de dbase zijn ID invoeren uiteraard en daarna wil ik weten wat hij/zij mee neemt bv.

User_ID : naam, Objects: Schep, Schelp, Parasol, Bier, Zonnebril

Dus de dbase bevat deze velden:
ID: User_ID: Objects.

En alles wat de gebruiker meeneemt, moet dus in Objects.
Maar later moet ik dus ook die gegevens op kunnen vragen zonder scheidingsteken.

Hoe doe ik dat? Iemand een idee?
Gewijzigd op 01/04/2023 21:05:13 door - Ariën -
 
PHP hulp

PHP hulp

29/04/2024 02:56:16
 
- Ariën  -
Beheerder

- Ariën -

01/04/2023 18:16:25
Quote Anchor link
Je kan het prima genormaliseerd opslaan in de database.
 
Arno van Zanten

Arno van Zanten

01/04/2023 18:51:10
Quote Anchor link
Ja maar dan krijg je

ID: User_ID: Objects_1: Objects_2: Objects_3: etc... en ik heb bv 50 objects.
Dus dan krijg je een zeer lange MySql DBase. Juist wat ik niet wil
Daarom vroeg ik me af hoe Serialize / Unserialize toe te kunnen passen.
 
- Ariën  -
Beheerder

- Ariën -

01/04/2023 19:01:04
Quote Anchor link
Daarom moet je NOOIT in de breedtte horizontaal werken. Als je velden gaat nummeren, ben je verkeerd bezig.

Met een lange database die verticaal is, is niks mis. Ik heb zelfs tabellen met 30 miljoen records. En dat gaat prima.
Met (un)serialize ben je ook al fout bezig.

Dus verdiep je in databasenormalisatie.
Ik zit te denken aan meerdere tabellen: Een objecten tabel, een koppeltabel met de ID's van gebruikers en Objecten, en de Gebruikerstabel.
Gewijzigd op 01/04/2023 19:13:12 door - Ariën -
 
Arno van Zanten

Arno van Zanten

01/04/2023 20:59:54
Quote Anchor link
Volgens mij snap je het niet of lees je het bericht niet goed.

Het gaat erom dat per gebruiker verschillende objects hebben.
Gaat niet om 1 gebruiker, maar om meerdere.
Dan zou ik iedere keer een nieuwe dbase per gebruiker moeten aanmaken, is ook niet te doen.

ID : User_ID : Objects :
===+=========+=================================+
1 | 1 | Shcep, Parasol, Zonnebril, Tent |
===+=========+=================================+

Maar jij wilt me dus dit laten doen :

ID : User_ID : Object_1 : Object_2 : Object_3 : Object_4 :
===+=========+==========+==========+==========+==========+
1 | 1 | Schep | Parasol | Zonnebril| Tent |
===+=========+==========+==========+==========+==========+

Maar ik praat over 50 objecten, dus ik wil dat in 1 field wegzetten en ook kunnen ophalen.
Dus hoe doe ik dat?
 
Ozzie PHP

Ozzie PHP

01/04/2023 21:02:53
Quote Anchor link
>> Volgens mij snap je het niet of lees je het bericht niet goed.

Ik denk dat Ariën het heel goed snapt, en dat jij het zelf niet goed leest of niet goed snapt.

>> Dan zou ik iedere keer een nieuwe dbase per gebruiker moeten aanmaken, is ook niet te doen.

Dit wordt nergens gezegd en zou inderdaad nergens op slaan.

Wacht even de uitleg van Ariën af, zodat je beter begrijpt wat hij bedoelt.
 
- Ariën  -
Beheerder

- Ariën -

01/04/2023 21:04:43
Quote Anchor link
Blijkbaar heb je niet mijn advies opgevolgd over het uitzoeken van database normalisatie.

En ik heb duidelijk aangegeven dat je NOOIT horizontaal moet uitbreiden.

Je moet in een koppeltabel een objectID koppelen aan een UserID met een record/rij/row. Snap je?
Gewijzigd op 01/04/2023 21:20:52 door - Ariën -
 
Arno van Zanten

Arno van Zanten

01/04/2023 21:29:37
Quote Anchor link
Ja maar dan ga ik dit krijgen

ID : User_ID : Objects :
===+=========+=========+
1 | 1 |Schep |
===+=========+=========+
2 | 1 |Parasol |
===+=========+=========+
3 | 1 |Zonnebril|
===+=========+=========+

Etc.... En stel ik heb dan 50 gebruikers? Dan wordt het toch een zooi op een gegeven moment.
Waarom niet de Objects per gebruiker niet in 1 veld, zodat ik meerdere records op kan slaan?
Als ik met het voorbeeld verder ga, dat op eens ook een gebruiker 2 komt, dan weet je waarom ik het bedoel.
Een gebruiker kan bv meerdere objects hebben, stel dat er 1 is die alle 50 pakt, dan snap je wat ik bedoel.
Daarom dat ik vroeg of het niet beter is om de objects per gebruiker in 1 field op te slaan?
 
- Ariën  -
Beheerder

- Ariën -

01/04/2023 21:38:08
Quote Anchor link
En hoe wil je straks weten hoeveel objecten je in totaal uitgedeeld hebt? Als je meerdere items in velden gaat proppen, dan wordt het inderdaad onoverzichtelijk.

Zoals ik al zei heb je drie tabellen nodig met deze velden:

objecten
- ID
- naam

gebruikers
- ID
- gebruikersnaam
- wachtwoord (hashed)
- e-mail
- etc...

gebruikers_objecten
- GebruikersID
- ObjectID

Ik denk dat je wel snapt hoe je de tabellen objecten en gebruiker in kan vullen. :-)
En bij de tabel gebruikers_objecten vul je steeds per record het ID van de gebruiker in, en het ID van het object.

En zie hier: Een genormaliseerde en overzichtelijke tabel met onbeperkt aantal objecten die je per gebruiker kan opslaan.

Oh ja, maak je geen zorgen dat je straks misschien 100 records hebt, want daar zijn database voor gemaakt. Ook al heb je er 50 miljoen, dan is dit geen enkel probleem.
Gewijzigd op 01/04/2023 21:40:41 door - Ariën -
 
Arno van Zanten

Arno van Zanten

01/04/2023 21:44:56
Quote Anchor link
Okay, maar het formulier met alle objecten, worden gekozen via checkboxen.
Een gebruiker krijgt een keuze formulier met alle objecten en die kan hij aanvinken welke hij/zij wilt.
dan slaat het formulier de records op.
Dus dan moet ik kijken hoe ik dan dat oplos.
 
- Ariën  -
Beheerder

- Ariën -

01/04/2023 21:48:21
Quote Anchor link
Gebruik je blokhaken in de checkbox?
Zoals objecten[] in je name-argument? Dan heb je in $_POST['objecten'] een array zitten die je met foreach(){} kan doorlopen, en met een INSERT-query kan opslaan.
 
Arno van Zanten

Arno van Zanten

01/04/2023 21:49:57
Quote Anchor link
Ik ben deze toturial aan het volgen :
https://www.youtube.com/watch?v=zko0ZqfG7cs
 
- Ariën  -
Beheerder

- Ariën -

01/04/2023 21:55:10
Quote Anchor link
Die legt het aardig goed uit. Hoewel PHP.net, W3Schools en https://www.phptutorial.net/ beter zijn.
Gewijzigd op 01/04/2023 21:56:51 door - Ariën -
 
Arno van Zanten

Arno van Zanten

01/04/2023 21:56:17
Quote Anchor link
Als ik het maar snap hoe het werkt, dan kom ik er wel uit...
anders kom ik hier weer terug ;)
 
- Ariën  -
Beheerder

- Ariën -

01/04/2023 21:57:43
Quote Anchor link
Ik denk dat het nu wel gaat lukken :-)
 
Ward van der Put
Moderator

Ward van der Put

02/04/2023 15:08:08
Quote Anchor link
Je geeft de objecten nu (net als de gebruikers) een unieke ID, maar hebben de objecten inderdaad ook een identiteit? Zijn het uniek identificeerbare objecten, zoals auto's met kentekens? Of wil je alleen maar vastleggen dat gebruiker x "een parasol" meeneemt?
 
Arno van Zanten

Arno van Zanten

02/04/2023 15:24:35
Quote Anchor link
Ward van der Put op 02/04/2023 15:08:08:
Je geeft de objecten nu (net als de gebruikers) een unieke ID, maar hebben de objecten inderdaad ook een identiteit? Zijn het uniek identificeerbare objecten, zoals auto's met kentekens? Of wil je alleen maar vastleggen dat gebruiker x "een parasol" meeneemt?


Juist, maar misschien ook meer natuurlijk.
 
- Ariën  -
Beheerder

- Ariën -

02/04/2023 18:39:45
Quote Anchor link
Met andere woorden: Ga je die objecten ook nog onder verdelen in categorieën?
 
Arno van Zanten

Arno van Zanten

02/04/2023 18:49:24
Quote Anchor link
- Ariën - op 02/04/2023 18:39:45:
Met andere woorden: Ga je die objecten ook nog onder verdelen in categorieën?


Nee, dat niet
 
- Ariën  -
Beheerder

- Ariën -

02/04/2023 21:45:17
Quote Anchor link
Dan voldoet mijn opzet wel.
Met een JOIN in je query kan je de titels ophalen als je gebruikers_objecten aanroept.
 
Ad Fundum

Ad Fundum

02/04/2023 21:46:08
Quote Anchor link
Je schrijft: "Het gaat erom dat per gebruiker verschillende objects hebben." [sic]

Dus je hebt in je database:
- 1 tabel voor gebruikers. Elke rij heeft een eigen ID;
- 1 tabel voor objecten. Elk object heeft een naam en een eigen ID;
- 1 koppeltabel om te weten welk object bij welke gebruiker hoort.

De koppeltabel werkt als volgt. Komt een combinatie van user_id en object_id er in voor, dan is een object gekoppeld aan de gebruiker. En anders niet.

Je schrijft: "Waarom niet de Objects per gebruiker niet in 1 veld, zodat ik meerdere records op kan slaan?"

Dat is niet hoe relationele databases bedoeld zijn. Je moet denken in verzamelingen. Een database is heel erg snel in het ophalen van alle objecten van een gebruiker, wanneer de tabel slechts twee integer-kolommen heeft, en wanneer je het ID van de gebruiker hebt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
SELECT
  object.id AS object_id
  object.naam AS object_naam,
  gebruiker_id IS NOT NULL AS aangevinkt
FROM object
  LEFT JOIN object_gebruiker
    ON object_gebruiker.object_id = object.id
WHERE object_gebruiker.gebruiker_id = $1
ORDER BY object.naam


Hiermee krijg je in 1x alle objecten voor in het formulier, met de status of ze zijn aangevinkt.
Gebruik in het formulier:
<input name="object[object_id]" type="checkbox" checked> object_naam

Als de optie niet is aangevinkt laat je het HTML-attribuut 'checked' gewoon weg.
Je krijgt dan in PHP (met de standaardinstellingen) de formuliergegevens in de associatieve array $_POST['object'].
Om het formulier op te slaan:
- start je een database transactie;
- wis je alle rijen van de gebruiker in de tabel object_gebruiker;
- sla je alle combinaties op uit $_POST['object'], vanuit een foreach()-lus;
- commit je de database transactie.

Ik ga er gemakshalve vanuit dat je de gebruiker_id al weet, bijvoorbeeld omdat de gebruiker eerst moet inloggen. En dat de gebruiker_id is opgehaald uit de database en bewaard in $_SESSION.
Gewijzigd op 02/04/2023 21:59:23 door Ad Fundum
 

Pagina: 1 2 volgende »



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.