PHP in CSS
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:
en in de css zelf heb ik onder de "color:" van een "hover" staan:
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
zal je toch iets meer code moeten geven mbt je sql query en verwerking daarvan
Code (php)
1
2
3
4
5
6
7
8
9
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]"
?>
$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
Code (php)
1
2
3
4
5
6
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'];
?>
$queryhome = "SELECT * FROM global WHERE globalid = '" . $GLOBAL_ID . "'";
$resulthome = mysql_query($queryhome);
$rowhome=mysql_fetch_array($resulthome);
$COLOR = $rowhome['color'];
?>
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)
1
2
3
4
5
6
7
8
9
10
11
12
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!';
}
?>
$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