03. april 2007 - 23:17
Der er
20 kommentarer og 2 løsninger
PHP i CSS-fil
Hej. Jeg har nogle style-definationer i en fil jeg kalder style.css. Jeg vil gerne have noget PHP-kode ind i definationerne, men det virker ikke korrekt. Jeg skriver bl.a. for at hente fra MYSQL. <?php $sql = "SELECT * FROM opsaetning"; $res = database($sql); $row = mysql_fetch_array($res); ?> Og i style-området: background-color: #<?php echo $row['farve']; ?>; Hvad gør jeg forkert??
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
03. april 2007 - 23:27
#1
Kald filen for style.php, og giv den en content-header, der fortæller, at den er en type css/txt !-)
03. april 2007 - 23:27
#2
Ups, type skal være text/css !o]
03. april 2007 - 23:28
#3
Jeg er ikke med på, hvad du mener med content-header. Kan du give et eksempel på kode?
03. april 2007 - 23:31
#4
SÅdan her: <link rel="stylesheet" href="css/style.css" type="text/css">
03. april 2007 - 23:32
#5
Åh - glemte lige at rette filnavnet: <link rel="stylesheet" href="css/style.php" type="text/css">
03. april 2007 - 23:38
#6
Virker ikke. Jeg kalder som ovenfor anført og skriver følgende i style.php <?php $sql = "SELECT * FROM opsaetning"; $res = database($sql); $row = mysql_fetch_array($res); ?> .form { background-color: #$row['farve']; }
03. april 2007 - 23:41
#7
-- i din php-fil sætter du en content-header, f.eks. header('Content-type: text/css');
03. april 2007 - 23:42
#8
03. april 2007 - 23:49
#9
Jeg har nu prøvet med: <?php header('Content-type: text/css'); ?> .form { background-color: #eeeee6; } Det virker, men det er uden MYSQL. Når så jeg indsætter MYSQL-kaldene, så virker alle de andre styles definationer heller ikke. Koden ser sådan her ud: <?php header('Content-type: text/css'); $sql = "SELECT * FROM opsaetning"; $res = database($sql); $row = mysql_fetch_array($res); ?> .form { background-color: #$row['farve']; } Har også læst lidt på php.net, men forstår ikke ret meget.
03. april 2007 - 23:57
#10
Har du prøvet: .form { background-color: #<?php print $row['farve']; ?>; }
03. april 2007 - 23:58
#11
Måske skal der også nogle paranteser med, så meget ved jeg ikke om php ...
04. april 2007 - 00:03
#12
Du går galt inden, da jeg har prøvet bare at kalde mysql uden at hente feltet! Dette her virker heller ikke - så det er ikke paranteserne. <?php header('Content-type: text/css'); $sql = "SELECT * FROM opsaetning"; $res = database($sql); $row = mysql_fetch_array($res); ?> .form { background-color: #eeeee6; }
04. april 2007 - 00:08
#13
Så får du vel en fejl ?-)
04. april 2007 - 00:20
#14
Ingen fejl, men style-definationerne virker ikke. Jeg har mange definationer, men viser bare den ene (form) for enkelthedens skyld. Jeg har konstateret, at det går galt, når linjen "$res = database($sql);" indlæses. Lad være med at bruge mere krudt på det her - jeg tror jeg finder ud af de på anden vis. Tak for hjælpen - send lige et svar.
04. april 2007 - 00:26
#15
Har du da defineret en funktion, der hedder database ?-)
04. april 2007 - 06:48
#16
jo-jo. Funktionen indlæses sammen med andre funktioner i en startfil, som altid indlæses. Og startfilen indlæses før <style>kaldene.
04. april 2007 - 07:42
#17
Prøv at gem denne fil: <?php header('Content-type: text/css'); //Husk at forbind til databasen. $sql = "SELECT * FROM opsaetning LIMIT 1"; $res = database($sql); $row = mysql_fetch_array($res); ?> .form { background-color: #<?=$row['farve'];?>; } Og husk lige at forbind til databasen. Gider den det korrekt output, hvis du kalder den direkte?
10. juni 2007 - 16:07
#18
Roenving og Jakobdo. Jeg har ikke afsluttet denne tråd. Sender I lige et svar. Jeg havde lavet en fejl - nu virker det med jeres forslag.
10. juni 2007 - 16:10
#19
Velbekomme '-)
10. juni 2007 - 19:11
#20
Svar!
10. juni 2007 - 20:36
#21
Takker for point.
13. juni 2007 - 01:20
#22
-- også jeg takker for point ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling