Hulp gezocht bij maken van kruistabel
Pagina: « vorige 1 2 3 4 5 volgende »
Echter het toekennen of intrekken van een rol gaat op basis welke functie iemand heeft. Niet meer niet minder. In sommige gevallen mag iemand niet meer dan een rol hebben. Om diverse reden is daar voor gekozen. Het zal ook niet om honderden mutaties gaan hoor. Maar tja zal vermoedelijk wel iets met veel selectboxen of misschien radio button zijn. Want er zijn maar twee smaken. Toekennen of intrekken. om maar wat te noemen... maar nogmaals heb hier geen benul van want nu handig is omdat ik niet de verschillende methodieken niet ken/weet.
Al met al zijn rechtensystemen een leuke materie. Voor een project waar ik mij mee bezig houd heb heb ik dit aan de hand van een voorbeeld ingebouwd en aangepast. Maar je moet wel goed op papier zetten hoe je dit vorm geeft, zoals de database, als de classes als de vormgeving in het beheerpaneel.
- Ariën - op 20/08/2019 22:07:06:
Hoe graag Dirk zou willen, als ik zijn eerdere post lees, kan hij weinig invloed uitoefenen op de opzet van de database.
Zou ik toch eens gaan praten met de lui die deze opgezet hebben en periodiek vullen dan.
Ik snap dat je het oorspronkelijke SAP systeem niet kunt wijzigen, en ook de CSV-bestanden die hier uitrollen niet. Ik snap alleen niet waarom je dat dan vervolgens ogenschijnlijk 1:1 in een database kiepert. Je kunt de data in de CSV-bestanden prima omvormen naar beter hanteerbare informatie. Hier kun je veel meer winst pakken. Ook het feit dat het MyISAM is volg ik niet helemaal. Klinkt gewoon als half werk.
Gewijzigd op 21/08/2019 00:13:09 door Thomas van den Heuvel
Wanneer iets MyISAM is kan je misschein niet begrijpen.. Ik heb dr geen flauwe notie van wat het inhoudt en wat het doet en wat de verschillen zijn. Maar is dat de vraagstelling?
In gesprek gaan met die lui van SAP zal lastig worden. Deze zitten in Zwitserland en om daar nu ff heen te tuffen.
Er is gekozen om de dumpbestanden as is in te lezen zonder om te vormen. Dit is een keuze. Daarnaast de wedervraag.. wat zou er dan omgevormd moeten worden?
Misschien is dit inmiddels veranderd maar bij mijn weten kun je met de MyISAM-engine niet afdwingen dat de data in de verschillende tabellen overeen moet komen. Bijvoorbeeld als user #1 en rol #1 bestaan in hun respectievelijke tabellen, pas dan kun je rol #1 verbinden met user #1 in deze koppeltabel. MyISAM controleert dit niet omdat je geen regels kunt opstellen die dit afdwingen.
Ook zijn er geen voorzieningen voor het kloppend houden van verbanden, bijvoorbeeld dat als je rol #1 verwijdert dat de koppeltabel automatisch de user-rol paren met rol #1 verwijdert.
Dan voorkomt MyISAM ook niet dat als je allerlei informatie toevoegt of wijzigt (in een query-batch) en er gaat halverwege iets fout dat dan het hele feest niet doorgaat. De database is dan half bijgewerkt, en dat kan er voor zorgen dat informatie uit de pas gaat lopen.
Dit zou je natuurlijk allemaal programmatisch kunnen afdwingen, maar dat is veels te veel werk, foutgevoelig en daarnaast gewoon onnodig, immers...
InnoDB heeft al deze voorzieningen wél: je kunt regels op en tussen tabellen definiëren waarbij er echte relaties bestaan tussen deze tabellen die ervoor zorgen dat je informatie klopt en blijft kloppen. InnoDB kan ook gebruik maken van database-transacties waarbij je batches informatie in het geheel, of in het geheel niet wegschrijft. Dit zorgt ervoor dat de database-toestand altijd een kloppende is en niet vervuild wordt met incomplete data/wijzigingen. Dit alles lijkt mij in een administratief systeem "nogal belangrijk".
---
Wat er mogelijk omgevormd zou kunnen/moeten worden:
- mogelijk toevoegen van extra tabellen voor rapportages etc, dit hangt van je informatievraag/-vragen af? of het verder uitsplitsen van data (Level 1:Level 2:Level 3:Level 4:Level 5 *kuch*)
- verwijdering van hard coding tussen tabellen (maak gebruik van interne nummeringen waar we het over gehad hebben)
- mogelijke dataverrijking, je zou extra velden met extra (voor mensen leesbare) informatie kunnen toevoegen
- bedien je van eenvoudigere/andere tabel- en kolomnamen zodat je op een intuïtievere manier queries kunt uitvoeren en informatie kan opvragen (Level 1:Level 2:Level 3:Level 4:Level 5 *kuch*)
Oftewel met de KENNIS van het systeem kun je je import een gigantische boost geven zodat je database een goed georganiseerd register is waar je snel informatie uit kunt opvragen. Daar was deze hele exercitie toch voor bedoeld? Voor het geven van inzicht, dan zul je ook wat moeite moeten doen om een overzichtelijk iets te creëren. Als je dit gewoon 1:1 vertaalt dan is dat toch een beetje, om een maat te quoten, "shit in, shit out".
Als dat afdoende is, soit. Maar dat is tegelijkertijd een (groot) gemis in die zin dat je er mogelijk veel *meer* mee kunt. Je mist dan een heleboel potentieel omdat je nog steeds met dezelfde SAP-meuk werkt.
Gewijzigd op 21/08/2019 17:27:45 door Thomas van den Heuvel
Nu kan ik mijn energie steken in tabellen types en opsplitsen van samenvoegingen... maar uiteindelijk moet ik weer 'n output gaan genereren en dan die opsplitsingen weer samen gaan voegen. Want de output moet weer corresponderen met de SAP omgeving. Is het dat allemaal waard? Ik kan die inschatting niet maken.
Neem niet weg dat ik dit zeer leerzaam vind... Ondanks dat ik nog 'n nitwit ben zou ik ook een andere structuur gekozen hebben.
Alles in ogenschouw nemen kan ik het niet overzien of het wel/niet de moeite waard is en wat ik er bij gebaat ben omdat ik die andere methodiek niet ken en daar dan ook energie in moet steken. Tijd die ik eigenlijk daar niet voor heb.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
function m2r(){
global $MySQL;
if (isset($_POST['submit'])) {
$naam = mysqli_real_escape_string($MySQL, $_POST['naam']);
$aanmaken = "INSERT INTO `m2r`
(`naam`)
VALUES
('$naam')";
if (mysqli_query($MySQL, $aanmaken)){
echo '<h3">Er is een nieuwe naam toegevoegd aan de database</h3>.';
}else{
echo 'Sorry,'.mysqli_error($MySQL);
}
}
?>
<form action="?actie=m2r" method="post" enctype="multipart/form-data">
<table cellpadding="3" border="0">
<tr>
<td><h5>Naam</h5></td>
<td><input type="text" name="naam"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Opslaan"></td>
</tr>
</table>
</form>
<?php
}
?>
function m2r(){
global $MySQL;
if (isset($_POST['submit'])) {
$naam = mysqli_real_escape_string($MySQL, $_POST['naam']);
$aanmaken = "INSERT INTO `m2r`
(`naam`)
VALUES
('$naam')";
if (mysqli_query($MySQL, $aanmaken)){
echo '<h3">Er is een nieuwe naam toegevoegd aan de database</h3>.';
}else{
echo 'Sorry,'.mysqli_error($MySQL);
}
}
?>
<form action="?actie=m2r" method="post" enctype="multipart/form-data">
<table cellpadding="3" border="0">
<tr>
<td><h5>Naam</h5></td>
<td><input type="text" name="naam"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Opslaan"></td>
</tr>
</table>
</form>
<?php
}
?>
ik ontvang de foutmelding: Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in
ik wil nl een shot geven of het me lukt om via form de kruistabel te kunnen bewerken... maar dan met zoiets basaal de mist in :-)
Gewijzigd op 23/08/2019 23:46:26 door - Ariën -
Hoe ziet je connectie eruit?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$connection = mysqli_connect("localhost", "root", "");
$connection->set_charset('utf8');
if(!$connection){
echo "Er kan geen connectie met de server worden gemaakt" . die(mysqli_error($connection));;
}
$dbselect = mysqli_select_db($connection, "bigpicture");
if(!$dbselect){
echo "Er kan geen connectie met de database worden gemaakt" . die(mysqli_error($connection));
}
?>
$connection = mysqli_connect("localhost", "root", "");
$connection->set_charset('utf8');
if(!$connection){
echo "Er kan geen connectie met de server worden gemaakt" . die(mysqli_error($connection));;
}
$dbselect = mysqli_select_db($connection, "bigpicture");
if(!$dbselect){
echo "Er kan geen connectie met de database worden gemaakt" . die(mysqli_error($connection));
}
?>
Juist, $connection dus. :-)
duh... thnx
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.
Dan de gehele code....
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
function ou_r2mkruistabel (){
global $connection;
$where = NULL;
if (isset($_GET['ou'])){
$where = 'WHERE idm_person.ACHMEA_REF_OU = "'.mysqli_real_escape_string($connection, $_GET['ou']).'"';
}
$sqlUitlezen = mysqli_query($connection, "SELECT
CONCAT(idm_person.ACHMEA_CALLNAME, ' ', idm_person.MX_LASTNAME, ' <br>(', idm_person.ACHMEA_EMPLOYEENUMBER, ')' ) naam,
idm_person2role.MSKEYVALUE_ROL rol
FROM `idm_person`
LEFT JOIN `idm_person2role`
ON idm_person.MSKEYVALUE_MEDEWERKER = idm_person2role.MSKEYVALUE_MEDEWERKER
LEFT JOIN `idm_role`
ON idm_role.MSKEYVALUE_ROL = idm_person2role.MSKEYVALUE_ROL
".$where."
ORDER BY idm_person2role.MSKEYVALUE_ROL, idm_person.MX_LASTNAME ASC
");
//---------------
$sqlUitlezenOu = mysqli_query($connection, "SELECT
idm_person.DISPLAYNAME,
idm_ou.MSKEYVALUE_OU,
idm_ou.DISPLAYNAME
FROM idm_person
INNER JOIN `idm_ou` ON idm_person.ACHMEA_REF_OU = idm_ou.MSKEYVALUE_OU
".$where."
");
$sqlTelRecords = mysqli_num_rows($sqlUitlezen);
$sqlAantal = $sqlTelRecords - 1;
$sqlAantalOu = mysqli_num_rows($sqlUitlezenOu);
if ($sqlAantalOu > 0){
$sqlDataOu = mysqli_fetch_assoc($sqlUitlezenOu);
echo '<table border="0" width="100%">';
echo '<tr>';
echo '<td align="center" valign="top" rowspan="3" width="100"><a href="javascript:javascript:history.go(-1)"><img src="../img/vorige_pagina_button.png" height="80"></td>';
echo '<td valign="bottom"><h3>Rol / Medewerker koppelingen (matrix)</h3></td>';
echo '</tr>';
echo '<td valign="top"><h2>'.$sqlDataOu['DISPLAYNAME'].'</h2></td>';
echo '</tr>';
echo '<tr>';
echo '<td align="right"><h6>Ik heb '.$sqlAantal.' rol / medewerker koppelingen gevonden op de afdeling <i>'.$sqlDataOu['DISPLAYNAME'].'</i></h6></td>';
echo '</tr>';
echo '</table>';
}
//---------------
if (isset($_POST['submit'])) {
$naam = mysqli_real_escape_string($connection, $_POST['naam']);
$aanmaken = "INSERT INTO `m2r`
(`naam`)
VALUES
('$naam')";
if (mysqli_query($connection, $aanmaken)){
echo '<h3">Er is een nieuwe m2r koppeling toegevoegd aan de database</h3>.';
}else{
echo 'Sorry,'.mysqli_error($connection);
}
}
//---------------
$sqlData = mysqli_fetch_all($sqlUitlezen, MYSQLI_ASSOC);
if ($sqlAantal > 0){
$roleCount = array();
foreach ($sqlData as $rij) {
$namen[$rij['rol']] = $rij['rol'];
$draai[$rij['naam']][$rij['rol']] = true;
if (isset($roleCount[$rij['rol']]) === false) {
$roleCount[$rij['rol']] = 0;
}
$roleCount[$rij['rol']]++;
}
echo '<form action="?actie=m2r" method="post" enctype="multipart/form-data">';
echo '<table id="idmdata" border="0">' . PHP_EOL;
echo '<tr>
<th colspan="2"></th>';
foreach($draai as $key=>$rol) {
echo '<th>' . $key . '</th>';
}
echo '</tr>';
echo '<tr>
<td>Uniek kenmerk rol</td>
<td bgcolor="silver" align="center"><font color="white"><b>#</b></font></td>';
foreach($draai as $key=>$rol) {
echo '<td bgcolor="navy" align="center"><font color="white"><b>'.count($rol).'</b></font></td>';
}
echo '</tr>';
foreach ($namen as $naam) {
echo '<tr>
<td>'. $naam . '</td>' . PHP_EOL;
if ($roleCount[$naam] ==1){
echo '<td bgcolor="red" align="center"><font color="white"><b>'.$roleCount[$naam].'</b></font></td>';
}else{
echo '<td bgcolor="navy" align="center"><font color="white"><b>'.$roleCount[$naam].'</b></font></td>';
}
foreach($draai as $key=>$rol) {
if(isset($draai[$key][$naam])) {
echo '<td align="center">
<select name="rights[news][edit]">
<option value=""checked>?</option>
<option value="Verwijderen">V</option>
</select>
</td>';
}else{
echo '<td align="center">
<select name="rights[news][edit]">
<option value="" checked></option>
<option value="Toekennen">T</option>
</select>
</td>';
}
}
echo '</tr>';
}
echo '</form>';
echo '</table>';
echo '<center><br /><input type="submit" name="submit" value="Opslaan"></center>';
}else{
echo '<center><a href="javascript:javascript:history.go(-1)"><img src="../img/no-data.png"></a></center>';
}
}
global $connection;
$where = NULL;
if (isset($_GET['ou'])){
$where = 'WHERE idm_person.ACHMEA_REF_OU = "'.mysqli_real_escape_string($connection, $_GET['ou']).'"';
}
$sqlUitlezen = mysqli_query($connection, "SELECT
CONCAT(idm_person.ACHMEA_CALLNAME, ' ', idm_person.MX_LASTNAME, ' <br>(', idm_person.ACHMEA_EMPLOYEENUMBER, ')' ) naam,
idm_person2role.MSKEYVALUE_ROL rol
FROM `idm_person`
LEFT JOIN `idm_person2role`
ON idm_person.MSKEYVALUE_MEDEWERKER = idm_person2role.MSKEYVALUE_MEDEWERKER
LEFT JOIN `idm_role`
ON idm_role.MSKEYVALUE_ROL = idm_person2role.MSKEYVALUE_ROL
".$where."
ORDER BY idm_person2role.MSKEYVALUE_ROL, idm_person.MX_LASTNAME ASC
");
//---------------
$sqlUitlezenOu = mysqli_query($connection, "SELECT
idm_person.DISPLAYNAME,
idm_ou.MSKEYVALUE_OU,
idm_ou.DISPLAYNAME
FROM idm_person
INNER JOIN `idm_ou` ON idm_person.ACHMEA_REF_OU = idm_ou.MSKEYVALUE_OU
".$where."
");
$sqlTelRecords = mysqli_num_rows($sqlUitlezen);
$sqlAantal = $sqlTelRecords - 1;
$sqlAantalOu = mysqli_num_rows($sqlUitlezenOu);
if ($sqlAantalOu > 0){
$sqlDataOu = mysqli_fetch_assoc($sqlUitlezenOu);
echo '<table border="0" width="100%">';
echo '<tr>';
echo '<td align="center" valign="top" rowspan="3" width="100"><a href="javascript:javascript:history.go(-1)"><img src="../img/vorige_pagina_button.png" height="80"></td>';
echo '<td valign="bottom"><h3>Rol / Medewerker koppelingen (matrix)</h3></td>';
echo '</tr>';
echo '<td valign="top"><h2>'.$sqlDataOu['DISPLAYNAME'].'</h2></td>';
echo '</tr>';
echo '<tr>';
echo '<td align="right"><h6>Ik heb '.$sqlAantal.' rol / medewerker koppelingen gevonden op de afdeling <i>'.$sqlDataOu['DISPLAYNAME'].'</i></h6></td>';
echo '</tr>';
echo '</table>';
}
//---------------
if (isset($_POST['submit'])) {
$naam = mysqli_real_escape_string($connection, $_POST['naam']);
$aanmaken = "INSERT INTO `m2r`
(`naam`)
VALUES
('$naam')";
if (mysqli_query($connection, $aanmaken)){
echo '<h3">Er is een nieuwe m2r koppeling toegevoegd aan de database</h3>.';
}else{
echo 'Sorry,'.mysqli_error($connection);
}
}
//---------------
$sqlData = mysqli_fetch_all($sqlUitlezen, MYSQLI_ASSOC);
if ($sqlAantal > 0){
$roleCount = array();
foreach ($sqlData as $rij) {
$namen[$rij['rol']] = $rij['rol'];
$draai[$rij['naam']][$rij['rol']] = true;
if (isset($roleCount[$rij['rol']]) === false) {
$roleCount[$rij['rol']] = 0;
}
$roleCount[$rij['rol']]++;
}
echo '<form action="?actie=m2r" method="post" enctype="multipart/form-data">';
echo '<table id="idmdata" border="0">' . PHP_EOL;
echo '<tr>
<th colspan="2"></th>';
foreach($draai as $key=>$rol) {
echo '<th>' . $key . '</th>';
}
echo '</tr>';
echo '<tr>
<td>Uniek kenmerk rol</td>
<td bgcolor="silver" align="center"><font color="white"><b>#</b></font></td>';
foreach($draai as $key=>$rol) {
echo '<td bgcolor="navy" align="center"><font color="white"><b>'.count($rol).'</b></font></td>';
}
echo '</tr>';
foreach ($namen as $naam) {
echo '<tr>
<td>'. $naam . '</td>' . PHP_EOL;
if ($roleCount[$naam] ==1){
echo '<td bgcolor="red" align="center"><font color="white"><b>'.$roleCount[$naam].'</b></font></td>';
}else{
echo '<td bgcolor="navy" align="center"><font color="white"><b>'.$roleCount[$naam].'</b></font></td>';
}
foreach($draai as $key=>$rol) {
if(isset($draai[$key][$naam])) {
echo '<td align="center">
<select name="rights[news][edit]">
<option value=""checked>?</option>
<option value="Verwijderen">V</option>
</select>
</td>';
}else{
echo '<td align="center">
<select name="rights[news][edit]">
<option value="" checked></option>
<option value="Toekennen">T</option>
</select>
</td>';
}
}
echo '</tr>';
}
echo '</form>';
echo '</table>';
echo '<center><br /><input type="submit" name="submit" value="Opslaan"></center>';
}else{
echo '<center><a href="javascript:javascript:history.go(-1)"><img src="../img/no-data.png"></a></center>';
}
}
levert onderstaand output op:
Gewijzigd op 25/08/2019 10:37:36 door - DHU -
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?
Gewijzigd op 25/08/2019 18:18:06 door - Ariën -
- Ariën - op 25/08/2019 18:17:46:
Per keer dat je een selectbox of switch-knop indrukt vindt er direct een AJAX-request plaats die de keuze direct doorvoert in de database.
hoi Ariën, nu ga je buitenaards spreken voor me... Snap werkelijk helemaal niks wat hier staat. je raakt me hier kwijt :-)
Gewijzigd op 25/08/2019 18:28:27 door - Ariën -
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.