(hulp gevraagd)array in keuzemenu
nu is mijn vraag. kan iemand mij een voorbeeldje aanrijken van hoe ik een array in een selectiemenu kan zetten?
alvast bedankt.
<select name="colors">
<option value="black">black</option>
</select>
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
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
<?php
// COLOR BCK tab txt
$colors[] = array("#000033","#CCCC66","#000033");
$colors[] = array("#660000","#993300","#FF9900");
$colors[] = array("#222222","#006633","#CCFFFF");
$colors[] = array("#FFFFFF","#990000","#FFFFFF");
$colors[] = array("#FFFFFF","#000033","#FFFFFF");
$colors[] = array("#663300","#FFFFCC","#000000");
$colors[] = array("#0099CC","#3366CC","#FFFFFF");
$colors[] = array("#FFEBA6","#B33627","#FFFFFF");
$colors[] = array("#FFFFFF","#A50707","#FFFFFF");
$colors[] = array("#FFFFFF","#0878A6","#FFFFFF");
$colors[] = array("#FFFFFF","#726C59","#FFFFFF");
$colors[] = array("#EEEEEE","#000000","#EEEEEE");
$colors[] = array("#FDF7EF","#9900CC","#FDF7EF");
$colors[] = array("#F1DDD7","#330066","#FFFFFF");
$colors[] = array("#E2C38A","#112D14","#FAEED4");
$colors[] = array("#466392","#7BAE21","#FFFFFF");
$colors[] = array("#FFFFFF","#FFD60D","#000000");
$colors[] = array("#F6F6F6","#9DB5CE","#000000");
$colors[] = array("#A5A2C6","#1F236C","#FF6600");
$colors[] = array("#924E05","#330000","#E98A0E");
$colors[] = array("#343C60","#323232","#FFFFFF");
$colors[] = array("#DAE0D6","#8DB998","#FFFFFF");
$colors[] = array("#E9E9E9","#EB5E02","#FFFFFF");
$colors[] = array("#FFFFFF","#CCCCCC","#000000");
$colors[] = array("#FFFCE3","#000033","#000033");
$colors[] = array("#E8E5D0","#5A481D","#FFFFFF");
$colors[] = array("#F1F2ED","#171717","#DEC126");
$colors[] = array("#FFFFFF","#FFE890","#000000");
$colors[] = array("#FFE890","#3C71C5","#FFFFFF");
$colors[] = array("#C6D3CA","#A3D536","#000000");
?>
// COLOR BCK tab txt
$colors[] = array("#000033","#CCCC66","#000033");
$colors[] = array("#660000","#993300","#FF9900");
$colors[] = array("#222222","#006633","#CCFFFF");
$colors[] = array("#FFFFFF","#990000","#FFFFFF");
$colors[] = array("#FFFFFF","#000033","#FFFFFF");
$colors[] = array("#663300","#FFFFCC","#000000");
$colors[] = array("#0099CC","#3366CC","#FFFFFF");
$colors[] = array("#FFEBA6","#B33627","#FFFFFF");
$colors[] = array("#FFFFFF","#A50707","#FFFFFF");
$colors[] = array("#FFFFFF","#0878A6","#FFFFFF");
$colors[] = array("#FFFFFF","#726C59","#FFFFFF");
$colors[] = array("#EEEEEE","#000000","#EEEEEE");
$colors[] = array("#FDF7EF","#9900CC","#FDF7EF");
$colors[] = array("#F1DDD7","#330066","#FFFFFF");
$colors[] = array("#E2C38A","#112D14","#FAEED4");
$colors[] = array("#466392","#7BAE21","#FFFFFF");
$colors[] = array("#FFFFFF","#FFD60D","#000000");
$colors[] = array("#F6F6F6","#9DB5CE","#000000");
$colors[] = array("#A5A2C6","#1F236C","#FF6600");
$colors[] = array("#924E05","#330000","#E98A0E");
$colors[] = array("#343C60","#323232","#FFFFFF");
$colors[] = array("#DAE0D6","#8DB998","#FFFFFF");
$colors[] = array("#E9E9E9","#EB5E02","#FFFFFF");
$colors[] = array("#FFFFFF","#CCCCCC","#000000");
$colors[] = array("#FFFCE3","#000033","#000033");
$colors[] = array("#E8E5D0","#5A481D","#FFFFFF");
$colors[] = array("#F1F2ED","#171717","#DEC126");
$colors[] = array("#FFFFFF","#FFE890","#000000");
$colors[] = array("#FFE890","#3C71C5","#FFFFFF");
$colors[] = array("#C6D3CA","#A3D536","#000000");
?>
ik snap niet echt wat je wilt, mss moet je alle kleuren in een database stoppen, dat is makkelijker met je select menu en je template denk ik.
Code (php)
Om er dan vervolgens een select box van te maken kun je een foreach loop gebruiken:
Code (php)
Als je dit vervolgens opneemt in een formulier dat je post, kun je het kleurschema uitlezen uit de array $_POST['template'].
maar kan ik dan ook alle kleuren appart toewijzen(voor background, tabel, en textkleur)?
zo ja. hoe moet ik dat dan uitlezen?
Tabel: $_POST['template'][1]
Tekst: $_POST['template'][2]
Je zou je template array ook nog keys mee kunnen geven:
Code (php)
1
2
3
2
3
<?php
$colors['titela'] = array("bg" => "#000033", "tb" => "#CCCC66", "txt" => "#000033");
?>
$colors['titela'] = array("bg" => "#000033", "tb" => "#CCCC66", "txt" => "#000033");
?>
Dan zou je de achtergrond, tabel en tekstkleur kunnen uitlezen met respectievelijk $_POST['template']['bg'], $_POST['template']['tb'] en $_POST['template']['txt'].
ik ga het zometeen uit proberen en zal daarna posten of het geeft gewerkt.
Hmm, heb het net zelf even geprobeerd, maar dit werkt niet helemaal. Je kunt blijkbaar geen array als value meegeven. Ik zal het voorbeeld even aanpassen...
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
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
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
// Array met kleurenschemas
$colors['titela'] = array('bg' => "#000033", 'tb' => "#CCCC66", 'txt' => "#000033");
$colors['titelb'] = array('bg' => "#660000", 'tb' => "#993300", 'txt' => "#FF9900");
$colors['titelc'] = array('bg' => "#222222", 'tb' => "#006633", 'txt' => "#CCFFFF");
// Als het formulier verzonden is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
echo '<p>Het gekozen kleurenschema:</p>';
echo '<ul>';
foreach($colors[$_POST['template']] as $key => $color)
{
echo '<li>'.$key.': '.$color.'</li>';
}
echo '</ul>';
}
// Echo het formulier
echo '<form method="post" action="#">';
echo '<select name="template">';
foreach($colors as $template => $scheme)
{
echo '<option value="'.$template.'">'.$template.'</option>';
}
echo '</select>';
echo '<input type="submit" value="Verzenden">';
echo '</form>';
?>
ini_set('display_errors', 'On');
error_reporting(E_ALL);
// Array met kleurenschemas
$colors['titela'] = array('bg' => "#000033", 'tb' => "#CCCC66", 'txt' => "#000033");
$colors['titelb'] = array('bg' => "#660000", 'tb' => "#993300", 'txt' => "#FF9900");
$colors['titelc'] = array('bg' => "#222222", 'tb' => "#006633", 'txt' => "#CCFFFF");
// Als het formulier verzonden is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
echo '<p>Het gekozen kleurenschema:</p>';
echo '<ul>';
foreach($colors[$_POST['template']] as $key => $color)
{
echo '<li>'.$key.': '.$color.'</li>';
}
echo '</ul>';
}
// Echo het formulier
echo '<form method="post" action="#">';
echo '<select name="template">';
foreach($colors as $template => $scheme)
{
echo '<option value="'.$template.'">'.$template.'</option>';
}
echo '</select>';
echo '<input type="submit" value="Verzenden">';
echo '</form>';
?>
ps. Je moet er dus voor zorgen dat de complete $colors array beschikbaar is op zowel de pagina waar het formulier gegenereerd wordt als op de pagina waar de verwerking plaatsvindt. Als dat twee verschillende pagina's zijn, zou je kunnen overweggen om deze array in een sessievariabele te zetten.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
ook JIJ mag niet dubeel posten :P
je weet best dat we daarvoor een edit knop hebben =D