Probleempje met color switch!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Web Ontwikkelaar PHP, Nijmegen

Contactpersoon Roel Kavelaar rkavelaarATsearch-consult.nl 0243528815 0644949337 Organisatie Jong, gezond en sterk groeiende bedrijf dat webbased multimedia oplossingen bouwt in de omgeving Nijmegen. Het bedrijf bouwt voor klanten o.a. geavanceerde websites, webwinkels, webapplicaties en specifieke webbased software. Het bedrijf ontwikkelt en onderhoudt ook verschillende bekende Nederlandse websites. Op dit moment hebben zij een groeiende en brede klantenkring opgebouwd. Met betrekking tot programmeer-, onderhoud-, ontwerp-werkzaamheden wordt een PHP ontwikkelaar gezocht met kennis van contentmanagementsysteemen en frameworks. Locatie Nijmegen Verantwoordelijkheden (Her)Ontwerpen en (her)ontwikkelen in PHP ten behoeve van websites voor klanten, project klussen, onderhoud en specifieke klantwensen (Her)Ontwerpen en (her)ontwikkelen in PHP, PHP

Bekijk vacature »

Kees Mulder

Kees Mulder

13/02/2014 11:37:46
Quote Anchor link
Ik heb een scrip gekregen voor een overzicht neer te zetten. Alleen krijg ik niet een color switch voor elkaar op de div van regels.

Dit is wat ik normaal gebruik:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
    $switch_style[0] = '#ffffff';
    $switch_style[1] = '#edf2f9';
    
    $style = 0;
 
    While ($row = mysql_fetch_assoc($query))
    {
        $style = ($style == 0) ? 1 : 0;
        
        echo '<div style=background-color: "'.$switch_style[$style].'"</div>';


Maar nu is het overzicht door iemand anders gemaakt en krijg ik het niet voor elkaar doordat de opbouw anders is, het werkt met functions en total overzicht opbouwen:

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
<?php
function getName($id)    {
    $sql = "SELECT naam
            FROM
                leden
            WHERE id = '$id'"
;
            
    //query uitvoeren
    $sql_res = mysql_query($sql) or die(mysql_error());
    
    while(list($naams)=mysql_fetch_array($sql_res))
    {

        $naam = $naams;
    }

    return $naam;
}
function
buildResult($id)    {

?>


<div class="items-row-box" style="background-color: <?php echo $switch_style[$style];?>">
    


Hoe zou ik het nu kunnen maken?
Gewijzigd op 13/02/2014 11:43:40 door Kees Mulder
 
PHP hulp

PHP hulp

23/05/2019 22:10:57
 
- SanThe -

- SanThe -

13/02/2014 12:30:52
Quote Anchor link
Waar zijn de html quotes?
 
Kees Mulder

Kees Mulder

13/02/2014 12:42:03
Quote Anchor link
Heb dit ook geprobeerd maar krijg ik het ook niet voor elkaar:

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
<?php
function switchColor() {

    $switch_style[0] = '#ffffff';
    $switch_style[1] = '#edf2f9';
    
    $style = 0;
    
    while(list($style)=mysql_fetch_array($sql_res))
    {

        $style = ($style == 0) ? 1 : 0;
    }

    return $style;
}

 
function
buildResult($id)    {
?>


    
    <div class="items-row-box" style="background-color: <?php echo switchColor(); ?>">
 
Dos Moonen

Dos Moonen

13/02/2014 12:43:22
Quote Anchor link
Als je error_reporting hoger zou zetten (zodat notices opduiken) zou PHP melden dat $switch_style binnen de functie buildResult() niet bestaat.

Leesvoer: http://www.php.net/manual/en/language.variables.scope.php
 
Kees Mulder

Kees Mulder

13/02/2014 12:47:46
Quote Anchor link
Dus wat ik zou willen kan niet?
 
- SanThe -

- SanThe -

13/02/2014 12:59:25
Quote Anchor link
Volgens mij werkt je allereerste script als je daar de html quotes in zet.
Maar dan wel op de juiste plaats.
Gewijzigd op 13/02/2014 13:00:31 door - SanThe -
 
Kees Mulder

Kees Mulder

13/02/2014 14:40:37
Quote Anchor link
Wat ik ook probeer ik krijg het niet voor elkaar in de buildResult functie...

Toevoeging op 13/02/2014 14:57:31:

Ik heb net dit nog geprobeerd maar krijg dan overal 'array' te staan:

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
<?php
function getColor()
{

    $sql = "SELECT COUNT(*)
            FROM leden
        "
;

    $switch_style[0] = '#ffffff';
    $switch_style[1] = '#edf2f9';
    
    $style = 0;
        
    $sql_res = mysql_query($sql) or die(mysql_error());
    while($row = mysql_fetch_assoc($sql_res))
    {

        $style = ($style == 0) ? 1 : 0;        
        $switch_style[$style];
        return $switch_style;
    }
}

function
buildResult($id)    {
?>


    
    <div class="items-row-box" style="background-color: <?php echo getColor(); ?>">
Gewijzigd op 13/02/2014 15:53:34 door Kees Mulder
 
- SanThe -

- SanThe -

13/02/2014 15:11:20
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
$switch_style[0] = '#ffffff';
$switch_style[1] = '#edf2f9';

$style = 0;

While ($row = mysql_fetch_assoc($query))
{
    $style = ($style == 0) ? 1 : 0;
        
    echo '<div style="background-color: '.$switch_style[$style].'"></div>';
}
Gewijzigd op 13/02/2014 15:55:54 door - SanThe -
 
Kees Mulder

Kees Mulder

13/02/2014 15:52:41
Quote Anchor link
Als ik dat doe, dan krijg ik bij elke regel dezelfde kleur 'edf2f9'.
 
- SanThe -

- SanThe -

13/02/2014 15:56:54
Quote Anchor link
Er staat nog niks in.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
$switch_style[0] = '#ffffff';
$switch_style[1] = '#edf2f9';

$style = 0;

While ($row = mysql_fetch_assoc($query))
{
    $style = ($style == 0) ? 1 : 0;
        
    echo '<div style="background-color: '.$switch_style[$style].'">Hier wat je er in wilt hebben</div>';
}
 
Kees Mulder

Kees Mulder

13/02/2014 19:09:58
Quote Anchor link
Ik krijg het niet werkende. Heeft het dan toch te maken dat het binnen de functie buildResult() staat?
 



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.