(hulp gevraagd)array in keuzemenu

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Simon

simon

30/10/2007 08:36:00
Quote Anchor link
hieronder zie je arrays(door een vriend van mij gemaakt). in deze arrays staat de background tabel en textkleur. dit zijn vooraf bepaalde template kleuren en deze moeten dus bij elkaar blijven.

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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");

?>
 
PHP hulp

PHP hulp

05/11/2024 13:30:51
 
Onbekend Onbekend

Onbekend Onbekend

30/10/2007 08:43:00
Quote Anchor link
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.
 
Nicoow Unknown

Nicoow Unknown

30/10/2007 08:43:00
 
Joren de Wit

Joren de Wit

30/10/2007 08:48:00
Quote Anchor link
Wat wil je als titel weergeven in je select box? Wellicht dat het handig is als je de titel van een templates als keys meegeeft aan de $colors array:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$colors
['titela'] = array("#000033","#CCCC66","#000033");
$colors['titelb'] = array("#660000","#993300","#FF9900");
$colors['titelc'] = array("#222222","#006633","#CCFFFF");
...

?>

Om er dan vervolgens een select box van te maken kun je een foreach loop gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
echo '<select name="template">';
foreach($colors as $template => $scheme)
{

    echo '<option value="'.$scheme.'">'.$template.'</option>';
}

echo '</select>';
?>

Als je dit vervolgens opneemt in een formulier dat je post, kun je het kleurschema uitlezen uit de array $_POST['template'].
 
Simon

simon

30/10/2007 08:58:00
Quote Anchor link
ik denk dat blanche snapt wat ik bedoel.

maar kan ik dan ook alle kleuren appart toewijzen(voor background, tabel, en textkleur)?

zo ja. hoe moet ik dat dan uitlezen?
 
Joren de Wit

Joren de Wit

30/10/2007 09:01:00
Quote Anchor link
Background: $_POST['template'][0]
Tabel: $_POST['template'][1]
Tekst: $_POST['template'][2]

Je zou je template array ook nog keys mee kunnen geven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$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'].
 
Simon

simon

30/10/2007 09:05:00
Quote Anchor link
ok bedankt :D

ik ga het zometeen uit proberen en zal daarna posten of het geeft gewerkt.
 
Joren de Wit

Joren de Wit

30/10/2007 09:11:00
Quote Anchor link
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...
 
Joren de Wit

Joren de Wit

30/10/2007 09:18:00
Quote Anchor link
Zoiets zou je ervan kunnen maken, een werkend voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>';
?>


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
 
Nicoow Unknown

Nicoow Unknown

30/10/2007 09:20:00
Quote Anchor link
Foei blanche,
ook JIJ mag niet dubeel posten :P
je weet best dat we daarvoor een edit knop hebben =D
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.