selected="selected" implementeren in groot script
Ik zit met een erg ingewikkeld script dat eerder is gemaakt door een andere programmeur. Nu werkt alles inmiddels prima behalve 1 klein dingetje. Het script is om een opstelling van een team te bewerken. Alleen bij het openen van het script toont hij in de select boxen niet de speler die op dat moment is geselecteerd oftewel ik mis een selected="selected". Zouden jullie kunnen laten zien hoe dat geïmplementeerd moet worden? Ik heb al van alles geprobeerd, maar krijg het in dit script echt niet voor elkaar.
PS. De selectbox is te vinden op 126 en is onderdeel van de functie set_players
Bij deze de volledige 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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
<?php
$match_id = 1;
$teams_query = "SELECT
m.thuisclub_id,
m.uitclub_id,
(SELECT naam FROM clubs WHERE id=m.thuisclub_id) AS thuisclub,
(SELECT naam FROM clubs WHERE id=m.uitclub_id) AS uitclub
FROM
wedstrijden AS m
WHERE
m.id={$match_id}
";
$clubrow = mysql_fetch_assoc(mysql_query($teams_query));
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$positie_array = array('aanvaller' => 'A', 'middenvelder' => 'M', 'verdediger' => 'V', 'keeper' => 'K');
$controle = true;
foreach($_POST as $posities => $pos_array){
foreach($_POST[$posities] as $team => $speler_array){
foreach($_POST[$posities][$team] as $pos_nr => $speler){
$club = $clubrow[$team.'club_id'];
$positie_nr = $pos_nr+1;
$query = "
INSERT INTO
opstelling
SET
wedstrijd_id = {$match_id},
speler_id = {$speler},
club_id = {$club},
positie = '{$positie_array[$posities]}',
tijd_in = 0,
tijd_uit = 90,
pos_volgnr = {$positie_nr}
";
if(!mysql_query($query) && isset($controle)){
$controle = false;
}
//$posities.' '.$team.' '.$speler.'('.$positie_nr.')<br />';
}
}
}
if($controle){
$content .= 'De opstelling is succesvol toegevoegd aan de database. U kunt hem aanpassen op de pagina voor opstelling bewerken.';
}
else{
$content .= 'Er is iets misgegaan bij het toevoegen van de opstelling. U wordt aangeraden om via "opstelling bewerken" te kijken naar de opstelling en deze (indien er iets is toegevoegd) daar aan te passen. Staat er geen opstelling in "opstelling bewerken" dan dient u de opstelling via "opstelling aanmaken" nog een keer proberen toe te voegen.';
}
}
else{
$opst_query ="
SELECT
COUNT(id) AS aantal,
club_id,
(select
naam
FROM
clubs
WHERE
id = club_id) AS clubnaam,
(SELECT
CASE
club_id
WHEN
thuisclub_id
THEN 'thuis'
ELSE 'uit'
END
FROM
wedstrijden
WHERE id=1) AS team,
positie
FROM
opstelling
WHERE
wedstrijd_id = {$match_id}
AND
tijd_in = 0
AND
positie <> 'K'
GROUP BY
positie,
club_id
ORDER BY
club_id,
positie
";
if($opst_res = mysql_query($opst_query)){
$aOpstelling = array();
while($opst_row = mysql_fetch_assoc($opst_res)){
$aOpstelling[$opst_row['team']][] = $opst_row['aantal'];
}
}
if(($array_sum['thuis'] = array_sum($aOpstelling['thuis'])) != 10){
$content .= 'De opstelling voor het uitteam is ongeldig, er staan of te veel of te weinig spelers in';
}
elseif(($array_sum['uit'] = array_sum($aOpstelling['uit'])) != 10){
$content .= 'De opstelling voor het uitteam is ongeldig, er staan of te veel of te weinig spelers in';
}
else{
function set_players($team_id){
$speler_query = "SELECT
s.id,
CONCAT(s.achternaam, ', ', s.voornaam, ' ', s.tussenvoegsel) AS naam,
s.positie
FROM
spelers AS s
INNER JOIN
speler_clubs AS sc
ON
sc.speler_id = s.id
WHERE
s.status = 1
AND
sc.club_id = ".$team_id."
ORDER BY
s.positie,
s.achternaam";
if($speler_result = mysql_query($speler_query)){
$aSpelers = array();
while($speler_row = mysql_fetch_assoc($speler_result)){
$aSpelers[$speler_row['positie']][] = '<option value="'.$speler_row['id'].'">'.htmlentities($speler_row['naam']).'</option>';
}
}
asort($aSpelers);
return $aSpelers;
}
function set_selectbox ($id, $options, $team) {
$prev_opt = '';
$posities = array('K' => 'keepers', 'V' => 'verdedigers', 'M' => 'middenvelders', 'A' => 'aanvallers');
$return = '';
$return .= PHP_EOL . '<select id="' . $id . '" name="' . $id . '['.$team.'][]">';
$return .= PHP_EOL . '<option value="0"> - geen - </option>';
if($id == 'keeper'){
foreach ($options['K'] as $key => $value) {
$return.= PHP_EOL.$value;
}
}
unset($options['K']);
//verderdigers
if($id != 'keeper'){
if($id == 'verdediger'){
$return .= '<optgroup label="verdedigers">';
foreach($options['V'] as $key => $value){
$return .= $value;
}
$return .= '</optgroup>';
unset($options['V']);
}
//middenvelders
if($id == 'middenvelder'){
$return .= '<optgroup label="middenvelders">';
foreach($options['M'] as $key => $value){
$return .= $value;
}
$return .= '</optgroup>';
unset($options['M']);
}
//aanvallers
if($id == 'aanvaller'){
$return .= '<optgroup label="aanvallers">';
foreach($options['A'] as $key => $value){
$return .= $value;
}
$return .= '</optgroup>';
unset($options['A']);
}
foreach($options as $positie => $spelers){
if($positie != $prev_opt){
$return .= '<optgroup label="'.$posities[$positie].'">';
}
foreach($spelers as $value){
$return .= $value;
}
if($positie != $prev_opt){
$return .= '</optgroup>';
}
$prev_opt = $positie;
}
}
$return.= PHP_EOL . '</select>';
return $return;
}
$content .=<<<EOF
<form id="opstelling" method="post" action="{$_SERVER['REQUEST_URI']}">
<fieldset>
<legend>Thuisclub {$clubrow['thuisclub']}</legend>
EOF;
$aSpelers = set_players($clubrow['thuisclub_id']);
$content .= '<p>';
$content .= set_selectbox('keeper', $aSpelers, 'thuis');
$content .= '</p>';
$content .= '<p>';
for($i = 1; $i <= $aOpstelling['thuis'][0]; $i++){
$content .= set_selectbox('verdediger',$aSpelers, 'thuis');
}
$content .= '</p>';
$content .= '<p>';
for($i = 1; $i <= $aOpstelling['thuis'][1]; $i++){
$content .= set_selectbox('middenvelder',$aSpelers, 'thuis');
}
$content .= '</p>';
$content .= '<p>';
for($i = 1; $i <= $aOpstelling['thuis'][2]; $i++){
$content .= set_selectbox('aanvaller',$aSpelers, 'thuis');
}
$content .= '</p>';
$content .=<<<EOF
</fieldset>
<fieldset><legend>Uitclub {$clubrow['uitclub']}</legend>
EOF;
$aSpelers = set_players($clubrow['uitclub_id']);
$content .= '<p>';
$content .= set_selectbox('keeper', $aSpelers, 'uit');
$content .= '</p>';
$content .= '<p>';
for($i = 1; $i <= $aOpstelling['uit'][0]; $i++){
$content .= set_selectbox('verdediger',$aSpelers, 'uit');
}
$content .= '</p>';
$content .= '<p>';
for($i = 1; $i <= $aOpstelling['uit'][1]; $i++){
$content .= set_selectbox('middenvelder',$aSpelers, 'uit');
}
$content .= '</p>';
$content .= '<p>';
for($i = 1; $i <= $aOpstelling['uit'][2]; $i++){
$content .= set_selectbox('aanvaller',$aSpelers, 'uit');
}
$content .= '</p>';
$content .=<<<EOF
</fieldset>
<input type="submit" value="verstuur" onclick="return check_lineup();"/>
</form>
</div>
</body>
</html>
EOF;
}
}
?>
$match_id = 1;
$teams_query = "SELECT
m.thuisclub_id,
m.uitclub_id,
(SELECT naam FROM clubs WHERE id=m.thuisclub_id) AS thuisclub,
(SELECT naam FROM clubs WHERE id=m.uitclub_id) AS uitclub
FROM
wedstrijden AS m
WHERE
m.id={$match_id}
";
$clubrow = mysql_fetch_assoc(mysql_query($teams_query));
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$positie_array = array('aanvaller' => 'A', 'middenvelder' => 'M', 'verdediger' => 'V', 'keeper' => 'K');
$controle = true;
foreach($_POST as $posities => $pos_array){
foreach($_POST[$posities] as $team => $speler_array){
foreach($_POST[$posities][$team] as $pos_nr => $speler){
$club = $clubrow[$team.'club_id'];
$positie_nr = $pos_nr+1;
$query = "
INSERT INTO
opstelling
SET
wedstrijd_id = {$match_id},
speler_id = {$speler},
club_id = {$club},
positie = '{$positie_array[$posities]}',
tijd_in = 0,
tijd_uit = 90,
pos_volgnr = {$positie_nr}
";
if(!mysql_query($query) && isset($controle)){
$controle = false;
}
//$posities.' '.$team.' '.$speler.'('.$positie_nr.')<br />';
}
}
}
if($controle){
$content .= 'De opstelling is succesvol toegevoegd aan de database. U kunt hem aanpassen op de pagina voor opstelling bewerken.';
}
else{
$content .= 'Er is iets misgegaan bij het toevoegen van de opstelling. U wordt aangeraden om via "opstelling bewerken" te kijken naar de opstelling en deze (indien er iets is toegevoegd) daar aan te passen. Staat er geen opstelling in "opstelling bewerken" dan dient u de opstelling via "opstelling aanmaken" nog een keer proberen toe te voegen.';
}
}
else{
$opst_query ="
SELECT
COUNT(id) AS aantal,
club_id,
(select
naam
FROM
clubs
WHERE
id = club_id) AS clubnaam,
(SELECT
CASE
club_id
WHEN
thuisclub_id
THEN 'thuis'
ELSE 'uit'
END
FROM
wedstrijden
WHERE id=1) AS team,
positie
FROM
opstelling
WHERE
wedstrijd_id = {$match_id}
AND
tijd_in = 0
AND
positie <> 'K'
GROUP BY
positie,
club_id
ORDER BY
club_id,
positie
";
if($opst_res = mysql_query($opst_query)){
$aOpstelling = array();
while($opst_row = mysql_fetch_assoc($opst_res)){
$aOpstelling[$opst_row['team']][] = $opst_row['aantal'];
}
}
if(($array_sum['thuis'] = array_sum($aOpstelling['thuis'])) != 10){
$content .= 'De opstelling voor het uitteam is ongeldig, er staan of te veel of te weinig spelers in';
}
elseif(($array_sum['uit'] = array_sum($aOpstelling['uit'])) != 10){
$content .= 'De opstelling voor het uitteam is ongeldig, er staan of te veel of te weinig spelers in';
}
else{
function set_players($team_id){
$speler_query = "SELECT
s.id,
CONCAT(s.achternaam, ', ', s.voornaam, ' ', s.tussenvoegsel) AS naam,
s.positie
FROM
spelers AS s
INNER JOIN
speler_clubs AS sc
ON
sc.speler_id = s.id
WHERE
s.status = 1
AND
sc.club_id = ".$team_id."
ORDER BY
s.positie,
s.achternaam";
if($speler_result = mysql_query($speler_query)){
$aSpelers = array();
while($speler_row = mysql_fetch_assoc($speler_result)){
$aSpelers[$speler_row['positie']][] = '<option value="'.$speler_row['id'].'">'.htmlentities($speler_row['naam']).'</option>';
}
}
asort($aSpelers);
return $aSpelers;
}
function set_selectbox ($id, $options, $team) {
$prev_opt = '';
$posities = array('K' => 'keepers', 'V' => 'verdedigers', 'M' => 'middenvelders', 'A' => 'aanvallers');
$return = '';
$return .= PHP_EOL . '<select id="' . $id . '" name="' . $id . '['.$team.'][]">';
$return .= PHP_EOL . '<option value="0"> - geen - </option>';
if($id == 'keeper'){
foreach ($options['K'] as $key => $value) {
$return.= PHP_EOL.$value;
}
}
unset($options['K']);
//verderdigers
if($id != 'keeper'){
if($id == 'verdediger'){
$return .= '<optgroup label="verdedigers">';
foreach($options['V'] as $key => $value){
$return .= $value;
}
$return .= '</optgroup>';
unset($options['V']);
}
//middenvelders
if($id == 'middenvelder'){
$return .= '<optgroup label="middenvelders">';
foreach($options['M'] as $key => $value){
$return .= $value;
}
$return .= '</optgroup>';
unset($options['M']);
}
//aanvallers
if($id == 'aanvaller'){
$return .= '<optgroup label="aanvallers">';
foreach($options['A'] as $key => $value){
$return .= $value;
}
$return .= '</optgroup>';
unset($options['A']);
}
foreach($options as $positie => $spelers){
if($positie != $prev_opt){
$return .= '<optgroup label="'.$posities[$positie].'">';
}
foreach($spelers as $value){
$return .= $value;
}
if($positie != $prev_opt){
$return .= '</optgroup>';
}
$prev_opt = $positie;
}
}
$return.= PHP_EOL . '</select>';
return $return;
}
$content .=<<<EOF
<form id="opstelling" method="post" action="{$_SERVER['REQUEST_URI']}">
<fieldset>
<legend>Thuisclub {$clubrow['thuisclub']}</legend>
EOF;
$aSpelers = set_players($clubrow['thuisclub_id']);
$content .= '<p>';
$content .= set_selectbox('keeper', $aSpelers, 'thuis');
$content .= '</p>';
$content .= '<p>';
for($i = 1; $i <= $aOpstelling['thuis'][0]; $i++){
$content .= set_selectbox('verdediger',$aSpelers, 'thuis');
}
$content .= '</p>';
$content .= '<p>';
for($i = 1; $i <= $aOpstelling['thuis'][1]; $i++){
$content .= set_selectbox('middenvelder',$aSpelers, 'thuis');
}
$content .= '</p>';
$content .= '<p>';
for($i = 1; $i <= $aOpstelling['thuis'][2]; $i++){
$content .= set_selectbox('aanvaller',$aSpelers, 'thuis');
}
$content .= '</p>';
$content .=<<<EOF
</fieldset>
<fieldset><legend>Uitclub {$clubrow['uitclub']}</legend>
EOF;
$aSpelers = set_players($clubrow['uitclub_id']);
$content .= '<p>';
$content .= set_selectbox('keeper', $aSpelers, 'uit');
$content .= '</p>';
$content .= '<p>';
for($i = 1; $i <= $aOpstelling['uit'][0]; $i++){
$content .= set_selectbox('verdediger',$aSpelers, 'uit');
}
$content .= '</p>';
$content .= '<p>';
for($i = 1; $i <= $aOpstelling['uit'][1]; $i++){
$content .= set_selectbox('middenvelder',$aSpelers, 'uit');
}
$content .= '</p>';
$content .= '<p>';
for($i = 1; $i <= $aOpstelling['uit'][2]; $i++){
$content .= set_selectbox('aanvaller',$aSpelers, 'uit');
}
$content .= '</p>';
$content .=<<<EOF
</fieldset>
<input type="submit" value="verstuur" onclick="return check_lineup();"/>
</form>
</div>
</body>
</html>
EOF;
}
}
?>
Alvast bedankt voor jullie hulp.
Niemand?
Heb je ergens ook nog het idtje van de speler die geselecteerd moet worden? Zie het zo 1 2 3 niet tussen je script te staan.
En BUMPen mag pas 24u na je laatste post!
@Hipska: Ik heb opzettelijk de volledige code geplaatst zodat het voor de mensen die willen helpen misschien duidelijk is welke gegevens gebruikt kunnen worden.
Ik hoop dat jullie kunnen helpen.
Hoe geef je een geselecteerde speler aan?
Hipska geeft het ook al aan. Je moet eerst weten welke speler je moet selecteren daarvoor het het id van de speler nodig, anders kan je deze niet selecteren bij het open van de pagina.
Hier de SQL:
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
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
CREATE TABLE IF NOT EXISTS `opstelling` (
`id` int(12) unsigned NOT NULL AUTO_INCREMENT,
`wedstrijd_id` int(8) unsigned NOT NULL,
`speler_id` int(8) unsigned NOT NULL,
`club_id` int(8) unsigned NOT NULL,
`tijd_in` int(3) unsigned NOT NULL,
`tijd_uit` int(3) unsigned NOT NULL,
`positie` enum('K','V','M','A') NOT NULL,
`wissel_voor` int(8) unsigned DEFAULT NULL,
`pos_volgnr` int(3) unsigned NOT NULL,
`reden_wissel` enum('geen','blessure') NOT NULL DEFAULT 'geen',
PRIMARY KEY (`id`),
KEY `speler_id` (`speler_id`),
KEY `club_id` (`club_id`),
KEY `wissel_voor` (`wissel_voor`),
KEY `wissel_voor_2` (`wissel_voor`),
KEY `wedstrijd_id` (`wedstrijd_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=23 ;
--
-- Gegevens worden uitgevoerd voor tabel `opstelling`
--
INSERT INTO `opstelling` (`id`, `wedstrijd_id`, `speler_id`, `club_id`, `tijd_in`, `tijd_uit`, `positie`, `wissel_voor`, `pos_volgnr`, `reden_wissel`) VALUES
(1, 1, 64, 3, 0, 90, 'K', NULL, 1, 'geen'),
(2, 1, 2, 1, 0, 90, 'K', NULL, 1, 'geen'),
(3, 1, 63, 3, 0, 90, 'V', NULL, 1, 'geen'),
(4, 1, 71, 3, 0, 90, 'V', NULL, 2, 'geen'),
(5, 1, 68, 3, 0, 90, 'V', NULL, 3, 'geen'),
(6, 1, 3, 1, 0, 90, 'V', NULL, 1, 'geen'),
(7, 1, 10, 1, 0, 90, 'V', NULL, 2, 'geen'),
(8, 1, 4, 1, 0, 90, 'V', NULL, 3, 'geen'),
(9, 1, 79, 3, 0, 90, 'M', NULL, 1, 'geen'),
(10, 1, 77, 3, 0, 90, 'M', NULL, 2, 'geen'),
(11, 1, 80, 3, 0, 90, 'M', NULL, 3, 'geen'),
(12, 1, 12, 1, 0, 90, 'M', NULL, 1, 'geen'),
(13, 1, 18, 1, 0, 90, 'M', NULL, 2, 'geen'),
(14, 1, 13, 1, 0, 90, 'M', NULL, 3, 'geen'),
(15, 1, 88, 3, 0, 90, 'A', NULL, 1, 'geen'),
(16, 1, 89, 3, 0, 90, 'A', NULL, 2, 'geen'),
(17, 1, 87, 3, 0, 90, 'A', NULL, 3, 'geen'),
(18, 1, 84, 3, 0, 90, 'A', NULL, 4, 'geen'),
(19, 1, 90, 1, 0, 90, 'A', NULL, 1, 'geen'),
(20, 1, 29, 1, 0, 90, 'A', NULL, 2, 'geen'),
(21, 1, 24, 1, 0, 90, 'A', NULL, 3, 'geen'),
(22, 1, 23, 1, 0, 90, 'A', NULL, 4, 'geen');
`id` int(12) unsigned NOT NULL AUTO_INCREMENT,
`wedstrijd_id` int(8) unsigned NOT NULL,
`speler_id` int(8) unsigned NOT NULL,
`club_id` int(8) unsigned NOT NULL,
`tijd_in` int(3) unsigned NOT NULL,
`tijd_uit` int(3) unsigned NOT NULL,
`positie` enum('K','V','M','A') NOT NULL,
`wissel_voor` int(8) unsigned DEFAULT NULL,
`pos_volgnr` int(3) unsigned NOT NULL,
`reden_wissel` enum('geen','blessure') NOT NULL DEFAULT 'geen',
PRIMARY KEY (`id`),
KEY `speler_id` (`speler_id`),
KEY `club_id` (`club_id`),
KEY `wissel_voor` (`wissel_voor`),
KEY `wissel_voor_2` (`wissel_voor`),
KEY `wedstrijd_id` (`wedstrijd_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=23 ;
--
-- Gegevens worden uitgevoerd voor tabel `opstelling`
--
INSERT INTO `opstelling` (`id`, `wedstrijd_id`, `speler_id`, `club_id`, `tijd_in`, `tijd_uit`, `positie`, `wissel_voor`, `pos_volgnr`, `reden_wissel`) VALUES
(1, 1, 64, 3, 0, 90, 'K', NULL, 1, 'geen'),
(2, 1, 2, 1, 0, 90, 'K', NULL, 1, 'geen'),
(3, 1, 63, 3, 0, 90, 'V', NULL, 1, 'geen'),
(4, 1, 71, 3, 0, 90, 'V', NULL, 2, 'geen'),
(5, 1, 68, 3, 0, 90, 'V', NULL, 3, 'geen'),
(6, 1, 3, 1, 0, 90, 'V', NULL, 1, 'geen'),
(7, 1, 10, 1, 0, 90, 'V', NULL, 2, 'geen'),
(8, 1, 4, 1, 0, 90, 'V', NULL, 3, 'geen'),
(9, 1, 79, 3, 0, 90, 'M', NULL, 1, 'geen'),
(10, 1, 77, 3, 0, 90, 'M', NULL, 2, 'geen'),
(11, 1, 80, 3, 0, 90, 'M', NULL, 3, 'geen'),
(12, 1, 12, 1, 0, 90, 'M', NULL, 1, 'geen'),
(13, 1, 18, 1, 0, 90, 'M', NULL, 2, 'geen'),
(14, 1, 13, 1, 0, 90, 'M', NULL, 3, 'geen'),
(15, 1, 88, 3, 0, 90, 'A', NULL, 1, 'geen'),
(16, 1, 89, 3, 0, 90, 'A', NULL, 2, 'geen'),
(17, 1, 87, 3, 0, 90, 'A', NULL, 3, 'geen'),
(18, 1, 84, 3, 0, 90, 'A', NULL, 4, 'geen'),
(19, 1, 90, 1, 0, 90, 'A', NULL, 1, 'geen'),
(20, 1, 29, 1, 0, 90, 'A', NULL, 2, 'geen'),
(21, 1, 24, 1, 0, 90, 'A', NULL, 3, 'geen'),
(22, 1, 23, 1, 0, 90, 'A', NULL, 4, 'geen');
Quote:
Alleen bij het openen van het script toont hij in de select boxen niet de speler die op dat moment is geselecteerd
HOE moet het script weten welke speler is geselecteerd?
Is het door een POST te doen? of komt dit uit de DB? of nog een andere optie?
Jurgen B schreef op 26.05.2009 10:39:
Ja nu geef ik die blijkbaar dus nog niet aan.
Moet je eerst even kijken waar je het id van de speler vandaan gaat halen. Want ik weet niet welke speler je wilt selecteren of aan de hand waarvan.
Is het zo wat duidelijker?
Je haalt dus uit een DB een lijstje met spelers die deze match meegedaan hebben en steekt ze in een dropdown box.
Welke speler moet er dan geselecteerd zijn?
EDIT: Even kijken of ik het begrijp. Je haalt een match id op. Aan de hand daarvan worden er 2 teams opgehaald(uit en thuis). Dan heb je een opstelling voor het thuis team.
De keeper staat ingevuld, op de plaats van de keeper moet dus een dropdown komen. Daar moet dan de keeper automatisch ingevuld staan?
Dus stel je hebt de volgende keepers:
1. pietje
2. jantje
jantje keept die wedstrijd dan moet jantje dus geselecteerd zijn? en pietje er nog gewoon bij staan?
Gewijzigd op 01/01/1970 01:00:00 door kitty N
Momenteel worden alle keepers e.d. al wel opgehaald alleen de juiste keeper wordt nog niet geselecteerd.
Want als je dat hebt krijg je zoiets:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
if($speler_result = mysql_query($speler_query))
{
$aSpelers = array();
while($speler_row = mysql_fetch_assoc($speler_result))
{
///Hier $idkeeper vervangen door het id wat je al hebt van de keeper.
if($speler_row['id'] == $idkeeper)
{
$aSpelers[$speler_row['positie']][] = '<option value="'.$speler_row['id'].'" selected>'.htmlentities($speler_row['naam']).'</option>';
}
else
{
$aSpelers[$speler_row['positie']][] = '<option value="'.$speler_row['id'].'">'.htmlentities($speler_row['naam']).'</option>';
}
}
}
?>
if($speler_result = mysql_query($speler_query))
{
$aSpelers = array();
while($speler_row = mysql_fetch_assoc($speler_result))
{
///Hier $idkeeper vervangen door het id wat je al hebt van de keeper.
if($speler_row['id'] == $idkeeper)
{
$aSpelers[$speler_row['positie']][] = '<option value="'.$speler_row['id'].'" selected>'.htmlentities($speler_row['naam']).'</option>';
}
else
{
$aSpelers[$speler_row['positie']][] = '<option value="'.$speler_row['id'].'">'.htmlentities($speler_row['naam']).'</option>';
}
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door kitty N
Alleen het implementeren gaat me zo te zien erg slecht af. Ik kan wel wat programmeren, maar dit script is eigenlijk veel te complex voor mij.
Dat stukje wat ik heb staan moet je in dat stuk plaatsen waar je zelf aan aangaf (126)
Dit stuk dus vervangen(vanaf regel 123):
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
if($speler_result = mysql_query($speler_query)){
$aSpelers = array();
while($speler_row = mysql_fetch_assoc($speler_result)){
$aSpelers[$speler_row['positie']][] = '<option value="'.$speler_row['id'].'">'.htmlentities($speler_row['naam']).'</option>';
}
?>
if($speler_result = mysql_query($speler_query)){
$aSpelers = array();
while($speler_row = mysql_fetch_assoc($speler_result)){
$aSpelers[$speler_row['positie']][] = '<option value="'.$speler_row['id'].'">'.htmlentities($speler_row['naam']).'</option>';
}
?>
Notice: Undefined variable: idkeeper in wedstrijd-detail-opst-bewerk.php on line 127
Ja die moet je vervangen door het id van de keeper, ik weet niet waar die vandaan komt namelijk ;)
In het script waar we de spelers weergeven staat wel deze query, misschien dat je daar wat meer kunt?
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
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
$opst_sql = "SELECT
o.speler_id,
o.club_id,
o.tijd_in,
o.tijd_uit,
o.positie,
o.wedstrijd_id,
o.wissel_voor AS id_voor,
CASE o.pos_volgnr
WHEN 'NULL'
THEN (SELECT pos_volgnr FROM opstelling WHERE speler_id = id_voor AND wedstrijd_id={$wedstrijd_id})
ELSE o.pos_volgnr END AS gen_pos_volgnr,
c.naam AS clubnaam,
CONCAT(s.tussenvoegsel,' ',s.achternaam) AS spelernaam,
CONCAT(s.voornaam,' ',s.tussenvoegsel,' ',s.achternaam) AS volledige_naam,
(SELECT CONCAT(s.voornaam,' ',s.tussenvoegsel,' ',s.achternaam) FROM spelers AS s WHERE id=wissel_voor AND wedstrijd_id={$wedstrijd_id}) AS in_voor
FROM
opstelling AS o
INNER JOIN
(spelers AS s
INNER JOIN
(clubs AS c
INNER JOIN
speler_clubs AS sc
ON
sc.club_id = c.id)
ON
sc.speler_id = s.id)
ON
s.id = o.speler_id
WHERE
(
(
o.tijd_in >= {$minuut}
AND
o.tijd_uit < {$minuut}
)
OR
(
o.tijd_in <= {$minuut}
AND
o.tijd_uit > {$minuut}
)
OR
(
o.tijd_in <= {$minuut}
AND
o.tijd_uit >= {$max_tijd['max_tijd']}
)
)
AND
wedstrijd_id={$wedstrijd_id}
AND o.club_id={$value}
GROUP BY
o.id
ORDER BY
o.wedstrijd_id,
o.club_id,
o.positie,
gen_pos_volgnr,
s.achternaam
";
o.speler_id,
o.club_id,
o.tijd_in,
o.tijd_uit,
o.positie,
o.wedstrijd_id,
o.wissel_voor AS id_voor,
CASE o.pos_volgnr
WHEN 'NULL'
THEN (SELECT pos_volgnr FROM opstelling WHERE speler_id = id_voor AND wedstrijd_id={$wedstrijd_id})
ELSE o.pos_volgnr END AS gen_pos_volgnr,
c.naam AS clubnaam,
CONCAT(s.tussenvoegsel,' ',s.achternaam) AS spelernaam,
CONCAT(s.voornaam,' ',s.tussenvoegsel,' ',s.achternaam) AS volledige_naam,
(SELECT CONCAT(s.voornaam,' ',s.tussenvoegsel,' ',s.achternaam) FROM spelers AS s WHERE id=wissel_voor AND wedstrijd_id={$wedstrijd_id}) AS in_voor
FROM
opstelling AS o
INNER JOIN
(spelers AS s
INNER JOIN
(clubs AS c
INNER JOIN
speler_clubs AS sc
ON
sc.club_id = c.id)
ON
sc.speler_id = s.id)
ON
s.id = o.speler_id
WHERE
(
(
o.tijd_in >= {$minuut}
AND
o.tijd_uit < {$minuut}
)
OR
(
o.tijd_in <= {$minuut}
AND
o.tijd_uit > {$minuut}
)
OR
(
o.tijd_in <= {$minuut}
AND
o.tijd_uit >= {$max_tijd['max_tijd']}
)
)
AND
wedstrijd_id={$wedstrijd_id}
AND o.club_id={$value}
GROUP BY
o.id
ORDER BY
o.wedstrijd_id,
o.club_id,
o.positie,
gen_pos_volgnr,
s.achternaam
";
Als je wilt kan ik daar ook nog alle bij plakken wat in die foreach lus staat?!
Daarin staat o.speler_id, waar geef je die weer?