Ik kan een overzicht geven van de inhoud (index.php), Ik kan een item toevoegen (add.php), wijzigen (edit.php) en verwijderen (delete.php).
Nu moet ik een interface bouwen, waarbij wij de tabel werknemers mee kunnen onderhouden.
Ik heb al een werknemerstabel aangemaakt:
De werknemerstabel ziet er als volgt uit:
ID numeriek a/i primaire sleutel
Naam varchar 50
Adres varchar 50
Postcode varchar 6 (of 7)
Plaats varchar 50
Telefoon varchar 10
Functie varchar 25
Nu is het de bedoeling dat ik een of meerdere php bestanden maak waarmee ik deze tabel kan onderhouden. Zou iemand mij hier mee kunnen helpen? Het mag ook allemaal in een tabel, dat maakt me niks uit.
Maar bereid je vast voor op het herschrijven van deze code op het moment dat blijkt dat het moeilijk zoniet onmogelijk wordt om deze te onderhouden/te wijzigen doordat weinig aandacht is besteed aan het ontwerp van de opzet.
Sommige mensen vinden het nu eenmaal fijn om meteen te gaan rennen als iemand een commando blaft, maar ik denk liever na voordat ik begin te lopen, in plaats van mij halverwege te realiseren dat ik toch de verkeerde kant op aan het rennen ben / gestuurd ben.
Ik kan een overzicht geven van de inhoud (index.php), Ik kan een item toevoegen (add.php), wijzigen (edit.php) en verwijderen (delete.php).
Nu moet ik een interface bouwen, waarbij wij de tabel werknemers mee kunnen onderhouden. […] Nu is het de bedoeling dat ik een of meerdere php bestanden maak waarmee ik deze tabel kan onderhouden.
Dit type interface noemen we een CRUD (Create, Read, Update and Delete). Je hebt namelijk al een create (C), read (R) en delete (D), maar moet nu nog de update (U) toevoegen.
Dit systeem kun je zonder veel moeite OOP bouwen, dat ben ik wel met Thomas eens. Daarbij kun je echter tevens de aanpak van Ariën volgen, want de CRUD wordt eenvoudigweg dé vier standaardmethoden van het model (M) in een MVC-structuur (model-view-controller). Waar je taken nu delegeert aan aparte bestanden (zoals add.php), kun je alles via één controller dirigeren. En waar je overzichten toont via index.php, gebruik je tot slot een of meerdere views.
Ariën en Thomas lijken het haast fundamenteel oneens, maar ik zie hier eigenlijk vooral overeenkomsten. ;)
Maar dit is het beginnersforum, dus je mag hier blijkbaar niet verwachten dat mensen hun verstand (proberen te) gebruiken.
En MVC, dat is al helemáál een brug te ver hiero. Beter om een switch-statement te gebruiken. Als je dan ergens een foutje maakt, breekt mogelijk meteen alle functionaliteit. Word je ook gedwongen om dit meteen weer op te lossen toch? Hieromheen fluf je dan nog wat HTML als syntactic sugar om het toch het voorkomen van een valide HTML-document te geven. En wat nou als je halverwege de uitdraai van een HTML-document bent in een verwerkstap, als je iemand dan toch wil redirecten zet je toch output buffering aan? Ik bedoel, waarom zou je je uberhaupt nog verdiepen in hoe iets werkt als je gewoon alles in één keer onder het tapijt kunt vegen nietwaar?
Je zou je ook moeten laten beperken in je keuze door het (vermeende) niveau van de vragensteller en niet denken in termen van structurele(re) oplossingen of routing door je applicatie (oh wacht, te moeilijk woord) structuur in het algemeen. Anders was men misschien na een voorzichtige overweging of twee voor het schrijven van code in één keer klaar en dan zit je heel snel zonder werk, da's natuurlijk niet de bedoeling he.
Ben bang dat ik me eerst iets verder moet verdiepen in het opbouwen van een php bestand. De structuur die je hebt gemaakt is super, ik heb alleen geen idee hoe ik dan verder moet.
Je geeft bijvoorbeeld aan om een werknemer toe te voegen, hoe begin ik daar aan? Ik snap dat voor jullie een hele lay-out schrijven te veel werk is, of niet mogelijk is zonder de rest van de source.
Ai, een autoincrement op een tabel & dan een id uit een tabel wissen via een switch/break?
Lijkt me beter dat je aan de tabel het veld datum uit dienst & reden uit dienst toevoegt eventueel met een link naar het personeelsdossier.
De reden is dat je als werkgever wettelijk 10 jaar verplicht bent om de informatie op te slaan i.v.m. de wwz.
Het is doenlijk, alleen heb je goed na te denken hoe of je het geheel opzet, crud & mvc zijn niet nodig, hou het alleen zo simpel mogelijk & ja ik ben ook een fan van de Unix filosofie, liever iets dat slechts 1 ding iets kan dan veel dingen die niets kunnen......