ik ben nog niet heel lang bezig met php maar heb toch een wens. Gaat om het maken van een query voor 'n kruistabel te laten weergeven. Poosje geleden heb ik me hier ook al me beziggehouden maar ik kan me helaas niet in verdiepen doordat ik kennis niet op niveau heb om dit te kunnen maar ook tijd speelt een rol.
ik ben op zoek naar iemand die me hierbij wil helpen. Dit hoeft uiteraard niet kosteloos te zijn. Ga graag met iemand daarover in onderhandeling buiten het forum om.
Wat is de vraag?
ik heb in een database drie tabellen. tabel medewwerkers, tabel rollen en een tabel waarin een relatie staat tussen die twee.
wat ik nu graag zou willen is dat een dmv een SQL opdracht de waarden van tabel medewerkers verticaal wordt weergegeven en de waarden van tabel rollen horizontaal wordt weergeven. Daar waar een match tussen die twee zitten zou het mooi zijn dat via een symbool (plusje ofzo) wordt getoond op het scherm.
Ik heb geen idee hoe dit werkt vandaar dat ik de vraag hier parkeer. Hoop dat iemand me hier mee wil helpen
Kunnen we onderling de vraag fine tunen waar nodig..
Goeiemorgen allemaal.. the next step in het kruistabellen.
Ben met bovenstaande aan de slag gegaan en heb het kruistabel omgevormd tot formulier. Code volgt verderop. Uiteraard werkt het nog niet omdat ik nu niet weet wat de vervolgstappen zijn. Heb wat geprobeerd maar geen resultaat.
De bedoeling is dat er bij een bestaande match (?) de optie V is. V staat voor verwijderen. Daar waar geen koppeling is moet de optie T komen te staan. T staat voor toekennen. So far so good.
Maar het opslaan gedeelte werkt nu omdat ik geen notie heb welke stappen ik moet uitvoeren. Hier de hulpvraag.
in de tabel m2r moet dus komen te staan het personeelsnummer van de persoon in kwestie, de rolnaam, en de mutatie T of V. Wanneer ik die combi heb dan kan ik daar aan toevoegen een timestamp en wie deze mutatie gemaakt heeft. Dat zijn automatisch gegevens.
geen flauw idee hoe ik bovenstaand aan moet gaan pakken. mede ook door het feit dat ik het array verhaal ook nog niet helemaal tot in het uiterste snap. :-)
Gevoelsmatig hangt het er nu op hoe ik de mutaties weg kan gaan schrijven naar de tabel. Wil graag jullie hulp daar bij aanroepen.
Uhm, maar wat kun je dan in 1x aanpassen? De rollen van *alle* personen?
Dat zijn nogal veel mutaties in één keer lijkt mij? Als je dit niet in een transactie giet lijkt mij dit ook nog eens heel erg gevaarlijk vanwege het eerder geschetste scenario waarbij zo'n bulk-operatie, om wat voor reden dan ook, halverwege spaak loopt, en de informatie dan maar half is bijgewerkt ofzo.
Tenzij je dus heeeeeeeeel veel gaat vergelijken en dan alles uitsplitst (had iemand een rol al, heeft iemand de rol nog steeds, heeft iemand de rol niet meer). Lijkt mij allemaal veelste ingewikkeld.
In plaats daarvan zou ik nog steeds voor de eerdere lichtgewicht aanpak kiezen waarbij je simpelweg een vinkje ziet als iemand een rol wel heeft, en een leeg vakje ofzo wanneer dit niet het geval is. Hoef je niet eens de pagina te verversen en is de situatie meteen bijgewerkt wanneer je op zo'n vakje klikt.
Ook qua complexiteit qua HTML/PHP-code heeft dit voordelen, de JavaScript die je hiervoor nodig hebt staat in principe helemaal los van de reeds bestaande functionaliteit en kun je apart toevoegen.
Het grootste deel van je reactie denk ik te begrijpen ... en je het klopt dat je veel mutaties kan doen via dit formulier en je scenario dit nogal links is heb ik met niet voldoende beseft. MAar je hebt daar wel 'n punt inderdaad. op deze manier kan je veel intrekken/toekennen waar je bij moet afvragen of je dat wel.
Tot so far snap ik het... Maar bij het laatste deel krijg ik error en snap helemaal geen snars van je zegt. Wat bedoel je met 'n lichtgewicht. Dat vinkjes overzicht had ik toch al (voor ik er een form van maakte).. maar hoe krijg ik dat muteerbaar? Hoe kan ik wel een rol intrekken of toekennen... via dat overzicht?
Met lichtgewicht bedoelt hij dat elke aanpassing in de rechten-matrix direct wordt doorgevoerd, en niet in een groot geheel. Het is simpeler toe te passen dan dat je alles in zijn geheel verstuurt.
Dat klinkt makkelijker gezegd dan gedaan, maar ook heel wat plausibeler en more safe. Wanneer ik Thomas goed begrijp gaat dat via javascript... daar snap ik helemaal niks van. Hoe moet ik dat dan gaan toepassen op de matrix?
Wat snap je dan niet precies? Termen zijn ook te Googlen ;-). Als ik iets niet weet, kijk ik wat het is, zodat ik me weer verder in de discussie kan werpen.
Heb ook wel geGoogled hoor... wat ik dan op W3 zie is een lading script achter een button waar ik geen zak van snap. PHP heeft nog zoveel geheimen.. .laat staan dat ik dat ook nog AJAX erbij moet gaan leren.. Beetje een te hoge plank zeg maar. Javascript is helemaal een onleesbaar iets voor mij. Vervolgens moet je dit dan nog op eea manier in de kruistabel gaan inpassen. Hier ga ik niet verder mee komen. Eens na gaan of er nog 'n 3e methodiek is. Allerlei vormen van techniek op één hoop is teveel van het goede.