PHP in CSS

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bram

Bram

26/02/2007 15:56:00
Quote Anchor link
Hoi mensen,

Ik heb een css file welke ik style.php noem. In deze css, heb ik bovenin hetvolgende staan om aan te geven dat het een css file is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

header("Content-type: text/css");
$COLOR = "#FF9521";

?>


en in de css zelf heb ik onder de "color:" van een "hover" staan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $COLOR ?>


Nu geef ik zelf bovenin de CSSfile aan wat $COLOR moet zijn, en dat werkt ook. Maar als ik die $COLOR nu uit een database wil halen met een sql-query dan werkt mijn hele css ineens niet meer.... weten jullie hoe dit kan? of zijn er andere mogelijkheden?

Groetjes Bram
 
PHP hulp

PHP hulp

07/11/2024 17:39:29
 
- wes  -

- wes -

26/02/2007 16:04:00
Quote Anchor link
zal je toch iets meer code moeten geven mbt je sql query en verwerking daarvan
 
Bram

Bram

27/02/2007 09:00:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

$queryhome
= "SELECT * FROM global WHERE globalid = '$GLOBAL_ID'";
    $resulthome = mysql_query($queryhome);
    $rowhome=mysql_fetch_array($resulthome);

$COLOR = "$rowhome[color]"

?>


Wanneer ik dit bovenin mijn CSSfile zet en met $COLOR een kleur uit de database haal, dan werkt mijn stylesheet gewoon niet meer. Is het zo dat je databaseconnecties en databaseuitkomsten niet in een CSS kan zetten?

Als ik voor $COLOR gewoon een kleurcode invul dan werkt het wel, maar als ik het uit een database haal (waar deze onder de kolom "color" staat) dan werkt het niet :S
 
- SanThe -

- SanThe -

27/02/2007 10:00:00
Quote Anchor link
Zelfde code alleen netjes gemaakt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$queryhome
= "SELECT * FROM global WHERE globalid = '" . $GLOBAL_ID . "'";
$resulthome = mysql_query($queryhome);
$rowhome=mysql_fetch_array($resulthome);
$COLOR = $rowhome['color'];
?>
 
Willem Jan Z

Willem Jan Z

27/02/2007 10:26:00
Quote Anchor link
Je doet niet aan errorhandling, en ik gok dat het ook meteen het probleem is.
Je controleerd globalid met quotes, voor zover ik weet is een id over het algemeen geen string. Of je moet hem opslaan als VARCHAR wat je hele datamodel de moeite maakt om weg te gooien.

Samenvatting:
Mocht de kolom globalid een INT zijn, haal de ' om $GLOBAL_ID weg.
En ga aan fout afhandeling doen!

Script nog meer aangepast:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
    $queryhome
= "SELECT color FROM global WHERE globalid = " . $GLOBAL_ID . ";";
    if(!$resulthome = mysql_query($queryhome)) {
        trigger_error('De query is mislukt! MySQL gaf de volgende melding: '.mysql_error());
    }
elseif(mysql_num_rows($resulthome) > 0) {
        $rowhome=mysql_fetch_assoc($resulthome);
        $COLOR = $rowhome['color'];
    }
else {
        echo 'Er waren geen resultaten!';
    }

        
?>



Edit: Tot nu toe gebruik je alleen color uit je tabel. Vraag dan ook alleen color op, ipv alles (*), dat bevordert de snelheid bij grotere querys.
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
 



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.