function
extract_color($linecolor);
en geef $linecolor daarna de waarde van $color die ik in de functie heb aangemaakt:
$linecolor = $color;
Het probleem is dat $color daar in 1 keer geen waarde meer heeft, terwijl dat binnen de functie nog wel zo was. Iemand enig idee wat dit probleem veroorzaakt en hoe het is op te lossen?
b.v.d
Je kan de variabele als global declareren, dan werkt het wel.
Edit:
Of je moet $color retourneren met return $color;
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
Ik heb nu binnen en buiten de functie return $color; geprobeerd maar ik kan de variabele niet gebruiken...
Code (php)
of
Code (php)
Het nut van deze functies ontgaat me, maar jij zal waarschijnlijk nog meer handelingen binnen je functie toepassen :)
Ik weet trouwens niet zeker of de eerste werkt -> werk eigenlijk nooit met global.
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
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
function extract_color($color){
$color = strtolower($color);
if($color=='black'){
$color='000000';
}elseif($color=='white'){
$color='FFFFFF';
}elseif($color=='grey'){
$color='A3A3A3';
}elseif($color=='blue'){
$color='273694';
}elseif($color=='red'){
$color='C00000';
}elseif($color=='yellow'){
$color='FBF800';
}elseif($color=='orange'){
$color='FD6B00';
}elseif($color=='purple'){
$color='7107BC';
}elseif($color=='pink'){
$color='FE00EF';
}elseif($color=='green'){
$color='1C7700';
}else{
$color=$color;
}
}
?>
function extract_color($color){
$color = strtolower($color);
if($color=='black'){
$color='000000';
}elseif($color=='white'){
$color='FFFFFF';
}elseif($color=='grey'){
$color='A3A3A3';
}elseif($color=='blue'){
$color='273694';
}elseif($color=='red'){
$color='C00000';
}elseif($color=='yellow'){
$color='FBF800';
}elseif($color=='orange'){
$color='FD6B00';
}elseif($color=='purple'){
$color='7107BC';
}elseif($color=='pink'){
$color='FE00EF';
}elseif($color=='green'){
$color='1C7700';
}else{
$color=$color;
}
}
?>
dit is de functie
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
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
<?php
function extract_color($color){
$color = strtolower($color);
if($color=='black'){
$color='000000';
}elseif($color=='white'){
$color='FFFFFF';
}elseif($color=='grey'){
$color='A3A3A3';
}elseif($color=='blue'){
$color='273694';
}elseif($color=='red'){
$color='C00000';
}elseif($color=='yellow'){
$color='FBF800';
}elseif($color=='orange'){
$color='FD6B00';
}elseif($color=='purple'){
$color='7107BC';
}elseif($color=='pink'){
$color='FE00EF';
}elseif($color=='green'){
$color='1C7700';
}else{
$color=$color;
}
return $color
}
// output zou moeten zijn: 000000
echo extract_color('black');
?>
function extract_color($color){
$color = strtolower($color);
if($color=='black'){
$color='000000';
}elseif($color=='white'){
$color='FFFFFF';
}elseif($color=='grey'){
$color='A3A3A3';
}elseif($color=='blue'){
$color='273694';
}elseif($color=='red'){
$color='C00000';
}elseif($color=='yellow'){
$color='FBF800';
}elseif($color=='orange'){
$color='FD6B00';
}elseif($color=='purple'){
$color='7107BC';
}elseif($color=='pink'){
$color='FE00EF';
}elseif($color=='green'){
$color='1C7700';
}else{
$color=$color;
}
return $color
}
// output zou moeten zijn: 000000
echo extract_color('black');
?>
edit:
Je zou overigens ook eens kunnen kijken naar switch, dat vervangt je elseif'jes op een elegantere manier (switch is gemaakt voor vele elseif'jes).
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
Gewijzigd op 01/01/1970 01:00:00 door Niek Berckmans
switch() te kijken.
Tip: bij lange if/else stucturen is het ook handig eens naar als ik nu $linecolor echo heeft $linecolor de goede waarde. Maar hoe kan ik $linecolor nu in de database zetten?
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
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
<?php
function extract_color($color){
switch(strtolower($color)) {
case 'black':
$color='000000';
break;
case 'white':
$color='FFFFFF';
break;
case 'grey':
$color='A3A3A3';
break;
case 'blue':
$color='273694';
break;
case 'red':
$color='C00000';
break;
case 'yellow':
$color='FBF800';
break;
case 'orange':
$color='FD6B00';
break;
case 'purple':
$color='7107BC';
break;
case 'pink':
$color='FE00EF';
break;
case 'green':
$color='1C7700';
break;
default:
$color=$color;
}
return $color
}
// output zou moeten zijn: 000000
echo extract_color('black');
?>
function extract_color($color){
switch(strtolower($color)) {
case 'black':
$color='000000';
break;
case 'white':
$color='FFFFFF';
break;
case 'grey':
$color='A3A3A3';
break;
case 'blue':
$color='273694';
break;
case 'red':
$color='C00000';
break;
case 'yellow':
$color='FBF800';
break;
case 'orange':
$color='FD6B00';
break;
case 'purple':
$color='7107BC';
break;
case 'pink':
$color='FE00EF';
break;
case 'green':
$color='1C7700';
break;
default:
$color=$color;
}
return $color
}
// output zou moeten zijn: 000000
echo extract_color('black');
?>
Er zijn overigens nog andere manieren met switch, maar deze is prima.
Ziet er netjes uit...bedankt!
Heb je al een database en tabel aangemaakt? Zo ja, hoe ziet de structuur eruit?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$query='
SELECT *
FROM conf_standard';
$result=mysql_query($query) or die (mysql_error());
if(mysql_num_rows($result)==0){
$query='
INSERT INTO conf_standard (divline, linecolor, linewidth, lineheight, link, linkcolor, linkstyle, hovercolor, hoverstyle, list, liststyle, listimg)
VALUES ("'.$divline.'", "'.$linecolor.'", "'.$linewidth.'", "'.$lineheight.'", "'.$link.'", "'.$linkcolor.'", "'.$linkstyle.'", "'.$linkcolor_over.'", "'.$linkstyle_over.'", "'.$list.'", "'.$liststyle.'", "'.$listimg.'");';
$result=mysql_query($query) or die (mysql_error());
}else{
$query='
UPDATE conf_standard
SET divline = "'.$divline.'", linecolor = "'.$linecolor.'", linewidth = "'.$linewidth.'", lineheight = "'.$lineheight.'", link = "'.$link.'", linkcolor = "'.$linkcolor.'", linkstyle = "'.$linkstyle.'", hovercolor = "'.$linkcolor_over.'", hoverstyle = "'.$linkstyle_over.'", list = "'.$list.'", liststyle = "'.$liststyle.'", listimg = "'.$listimg.'"
WHERE id=1';
$result=mysql_query($query) or die (mysql_error());
}
?>
$query='
SELECT *
FROM conf_standard';
$result=mysql_query($query) or die (mysql_error());
if(mysql_num_rows($result)==0){
$query='
INSERT INTO conf_standard (divline, linecolor, linewidth, lineheight, link, linkcolor, linkstyle, hovercolor, hoverstyle, list, liststyle, listimg)
VALUES ("'.$divline.'", "'.$linecolor.'", "'.$linewidth.'", "'.$lineheight.'", "'.$link.'", "'.$linkcolor.'", "'.$linkstyle.'", "'.$linkcolor_over.'", "'.$linkstyle_over.'", "'.$list.'", "'.$liststyle.'", "'.$listimg.'");';
$result=mysql_query($query) or die (mysql_error());
}else{
$query='
UPDATE conf_standard
SET divline = "'.$divline.'", linecolor = "'.$linecolor.'", linewidth = "'.$linewidth.'", lineheight = "'.$lineheight.'", link = "'.$link.'", linkcolor = "'.$linkcolor.'", linkstyle = "'.$linkstyle.'", hovercolor = "'.$linkcolor_over.'", hoverstyle = "'.$linkstyle_over.'", list = "'.$list.'", liststyle = "'.$liststyle.'", listimg = "'.$listimg.'"
WHERE id=1';
$result=mysql_query($query) or die (mysql_error());
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Niek Berckmans
Bovenstaande haalt alles op uit de tabel conf_standard.
Als je iets invoert in die tabel, wordt mysql_num_rows > 0. Gevolg is dat
Code (php)
1
2
2
INSERT INTO conf_standard (divline, linecolor, linewidth, lineheight, link, linkcolor, linkstyle, hovercolor, hoverstyle, list, liststyle, listimg)
VALUES ("'.$divline.'", "'.$linecolor.'", "'.$linewidth.'", "'.$lineheight.'", "'.$link.'", "'.$linkcolor.'", "'.$linkstyle.'", "'.$linkcolor_over.'", "'.$linkstyle_over.'", "'.$list.'", "'.$liststyle.'", "'.$listimg.'");';
VALUES ("'.$divline.'", "'.$linecolor.'", "'.$linewidth.'", "'.$lineheight.'", "'.$link.'", "'.$linkcolor.'", "'.$linkstyle.'", "'.$linkcolor_over.'", "'.$linkstyle_over.'", "'.$list.'", "'.$liststyle.'", "'.$listimg.'");';
nooit meer wordt aangeroepen, en er dus altijd geupdate wordt.
Maar als dat wel de bedoeling is (je wilt bv. maar één configuratie hebben), dan moet het zo te zien automatisch goedkomen als je die code plaatst nadat je $line_color een waarde hebt gegeven.
Ik gebruik maar 1 configuratie en daarnaast lukt het met deze query niet om een kleur in de database in te voeren.
$query = "SELECT COUNT(1) FROM tabel WHERE kolom='".$waarde."';";
Iemand echter nog een oplossing om de kleur in de database te krijgen?
Niek:
Dat wist ik niet...
Iemand echter nog een oplossing om de kleur in de database te krijgen?
Iemand echter nog een oplossing om de kleur in de database te krijgen?
Daarom vertel ik het ook...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$query = "SELECT COUNT(1) FROM tabel WHERE kolom='".$waarde."';";
$result=mysql_query($query) or die (mysql_error());
if(mysql_result($result, 0) < 1){
// Insert
}else{
// Update
}
?>
$query = "SELECT COUNT(1) FROM tabel WHERE kolom='".$waarde."';";
$result=mysql_query($query) or die (mysql_error());
if(mysql_result($result, 0) < 1){
// Insert
}else{
// Update
}
?>
En dan even kijken of je een foutmelding krijgt, ik heb namelijk het vermoeden dat je enkele en dubbele quotes precies andersom moet gebruiken in je query's