Insert query verkorten
Ik wil graag de tabel (beschikbaarheid) in database verander naar alleen medewerker_id en beschikbaar, hoe kan ik er voor zorgen dat de verschillende waardes in die ene rij worden geplaatst met de juiste medewerker_id. Alleen voor de waardes die zijn ingevuld, dus als 6 en 7 leeg zijn moeten ze ook niet in de db komen.
Versimpeld moet het zo in de db komen te staan:
medewerker_id | beschikbaar
1 | 1
1 | 2
1 | 3
1 | 4
1 | 5
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
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
<?php
// Zet POSTs om naar variable
$beschik_ma = (isset($_POST['beschikbaar_ma'])) ? '1' : '0' ;
$beschik_di = (isset($_POST['beschikbaar_di'])) ? '2' : '0' ;
$beschik_wo = (isset($_POST['beschikbaar_wo'])) ? '3' : '0' ;
$beschik_do = (isset($_POST['beschikbaar_do'])) ? '4' : '0' ;
$beschik_vr = (isset($_POST['beschikbaar_vr'])) ? '5' : '0' ;
$beschik_za = (isset($_POST['beschikbaar_za'])) ? '6' : '0' ;
$beschik_zo = (isset($_POST['beschikbaar_zo'])) ? '7' : '0' ;
// Voeg beschikbaarheid toe via een INSERT
$sql2 = "INSERT INTO beschikbaarheid (
medewerker_id,
beschikbaar,
beschikbaar_di,
beschikbaar_wo,
beschikbaar_do,
beschikbaar_vr,
beschikbaar_za,
beschikbaar_zo)
VALUES (
'" . $medewerker_id . "',
'" . $beschik_ma . "',
'" . $beschik_di . "',
'" . $beschik_wo . "',
'" . $beschik_do . "',
'" . $beschik_vr . "',
'" . $beschik_za . "',
'" . $beschik_zo . "')";
?>
// Zet POSTs om naar variable
$beschik_ma = (isset($_POST['beschikbaar_ma'])) ? '1' : '0' ;
$beschik_di = (isset($_POST['beschikbaar_di'])) ? '2' : '0' ;
$beschik_wo = (isset($_POST['beschikbaar_wo'])) ? '3' : '0' ;
$beschik_do = (isset($_POST['beschikbaar_do'])) ? '4' : '0' ;
$beschik_vr = (isset($_POST['beschikbaar_vr'])) ? '5' : '0' ;
$beschik_za = (isset($_POST['beschikbaar_za'])) ? '6' : '0' ;
$beschik_zo = (isset($_POST['beschikbaar_zo'])) ? '7' : '0' ;
// Voeg beschikbaarheid toe via een INSERT
$sql2 = "INSERT INTO beschikbaarheid (
medewerker_id,
beschikbaar,
beschikbaar_di,
beschikbaar_wo,
beschikbaar_do,
beschikbaar_vr,
beschikbaar_za,
beschikbaar_zo)
VALUES (
'" . $medewerker_id . "',
'" . $beschik_ma . "',
'" . $beschik_di . "',
'" . $beschik_wo . "',
'" . $beschik_do . "',
'" . $beschik_vr . "',
'" . $beschik_za . "',
'" . $beschik_zo . "')";
?>
Je kunt gewoon met date gaan werken.
Ik meen dat dit al es een keer eerder tegen je gezegd is.
De tabel wordt nu:
Naam: Beschikbaarheid
Kolom: medewerker_id
Kolom: beschikbaar
In de rijen komen de medewerkers plus beschikbaarheid (1,2,3,4,5,6 en / of 7)
Met date kan volgens mij niet, het zijn checkboxes waarbij staat aangegeven of iemand dan beschikbaar is.
Ik wil nu dus de database wijzigen dat er maar 2 kolomen staan en daarna dat er meerdere rijen komen bij de ids als ze vaker beschikbaar zijn.
Of zie jij hier een makkelijkere manier voor? De beschikbaarheid wordt gebruikt in andere stukken scripts.
Edit: Vraag korter gezegd, hoe kan ik de checkbox opties opslaan in meerdere rijen in de database?
Gewijzigd op 01/01/1970 01:00:00 door Richard Duinmayer
Hoe kan ik ze efficient wegschrijven in de datadase?
Ik had eerst een enigzins fout database model deze heb ik nu omgezet.
Versimpeld moet het zo in de db komen te staan:
medewerker_id | beschikbaar
1 | 1
1 | 2
1 | 3
1 | 4
1 | 5
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
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
<?php / kleurtjes
<h1>Wekelijkse beschikbaarheid</h1>
<p>voeg de wekelijkse beschikbaarheid toe</p>
<label>Maandag:
<span class="small"> </span>
</label>
<input type="checkbox" name="beschikbaar_ma" id="beschikbaar_ma" checked="checked" class="checkbox" />
<label>Dinsdag:
<span class="small"> </span>
</label>
<input type="checkbox" name="beschikbaar_di" id="beschikbaar_di" checked="checked" class="checkbox" />
<label>Woensdag:
<span class="small"> </span>
</label>
<input type="checkbox" name="beschikbaar_wo" id="beschikbaar_wo" checked="checked" class="checkbox" />
<label>Donderdag:
<span class="small"> </span>
</label>
<input type="checkbox" name="beschikbaar_do" id="beschikbaar_do" checked="checked" class="checkbox" />
<label>Vrijdag:
<span class="small"> </span>
</label>
<input type="checkbox" name="beschikbaar_vr" id="beschikbaar_vr" checked="checked" class="checkbox" />
<label>Zaterdag:
<span class="small"> </span>
</label>
<input type="checkbox" name="beschikbaar_za" id="beschikbaar_za" class="checkbox" />
<label>Zondag:
<span class="small"> </span>
</label>
<input type="checkbox" name="beschikbaar_zo" id="beschikbaar_zo" class="checkbox" />
?>
<h1>Wekelijkse beschikbaarheid</h1>
<p>voeg de wekelijkse beschikbaarheid toe</p>
<label>Maandag:
<span class="small"> </span>
</label>
<input type="checkbox" name="beschikbaar_ma" id="beschikbaar_ma" checked="checked" class="checkbox" />
<label>Dinsdag:
<span class="small"> </span>
</label>
<input type="checkbox" name="beschikbaar_di" id="beschikbaar_di" checked="checked" class="checkbox" />
<label>Woensdag:
<span class="small"> </span>
</label>
<input type="checkbox" name="beschikbaar_wo" id="beschikbaar_wo" checked="checked" class="checkbox" />
<label>Donderdag:
<span class="small"> </span>
</label>
<input type="checkbox" name="beschikbaar_do" id="beschikbaar_do" checked="checked" class="checkbox" />
<label>Vrijdag:
<span class="small"> </span>
</label>
<input type="checkbox" name="beschikbaar_vr" id="beschikbaar_vr" checked="checked" class="checkbox" />
<label>Zaterdag:
<span class="small"> </span>
</label>
<input type="checkbox" name="beschikbaar_za" id="beschikbaar_za" class="checkbox" />
<label>Zondag:
<span class="small"> </span>
</label>
<input type="checkbox" name="beschikbaar_zo" id="beschikbaar_zo" class="checkbox" />
?>