Oprettet tir. d. 03. april 2007 kl. 23:17:27

nemlig
nemlig (5.151 point. Point ude: 0)

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??

Skrevet tir. d. 03. april 2007 kl. 23:27:28| #1

roenving
roenving (328.349 point)
Kald filen for style.php, og giv den en content-header, der fortæller, at den er en type css/txt !-)

Skrevet tir. d. 03. april 2007 kl. 23:27:57| #2

roenving
roenving (328.349 point)
Ups, type skal være text/css !o]

Skrevet tir. d. 03. april 2007 kl. 23:28:42| #3

nemlig
nemlig (5.151 point)
Jeg er ikke med på, hvad du mener med content-header. Kan du give et eksempel på kode?

Skrevet tir. d. 03. april 2007 kl. 23:31:58| #4

nemlig
nemlig (5.151 point)
SÅdan her:
<link rel="stylesheet" href="css/style.css" type="text/css">

Skrevet tir. d. 03. april 2007 kl. 23:32:38| #5

nemlig
nemlig (5.151 point)
Åh - glemte lige at rette filnavnet:
<link rel="stylesheet" href="css/style.php" type="text/css">

Skrevet tir. d. 03. april 2007 kl. 23:38:25| #6

nemlig
nemlig (5.151 point)
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'];
}

Skrevet tir. d. 03. april 2007 kl. 23:41:36| #7

roenving
roenving (328.349 point)
-- i din php-fil sætter du en content-header, f.eks.

header('Content-type: text/css');

Skrevet tir. d. 03. april 2007 kl. 23:42:32| #8


Skrevet tir. d. 03. april 2007 kl. 23:49:54| #9

nemlig
nemlig (5.151 point)
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.

Skrevet tir. d. 03. april 2007 kl. 23:57:20| #10

roenving
roenving (328.349 point)
Har du prøvet:

.form {
    background-color: #<?php print $row['farve']; ?>;
}

Skrevet tir. d. 03. april 2007 kl. 23:58:10| #11

roenving
roenving (328.349 point)
Måske skal der også nogle paranteser med, så meget ved jeg ikke om php ...

Skrevet ons. d. 04. april 2007 kl. 00:03:46| #12

nemlig
nemlig (5.151 point)
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;
}

Skrevet ons. d. 04. april 2007 kl. 00:08:45| #13

roenving
roenving (328.349 point)
Så får du vel en fejl ?-)

Skrevet ons. d. 04. april 2007 kl. 00:20:51| #14

nemlig
nemlig (5.151 point)
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.

Skrevet ons. d. 04. april 2007 kl. 00:26:22| #15

roenving
roenving (328.349 point)
Har du da defineret en funktion, der hedder database ?-)

Skrevet ons. d. 04. april 2007 kl. 06:48:55| #16

nemlig
nemlig (5.151 point)
jo-jo. Funktionen indlæses sammen med andre funktioner i en startfil, som altid indlæses. Og startfilen indlæses før <style>kaldene.

Skrevet ons. d. 04. april 2007 kl. 07:42:07| #17

jakobdo
jakobdo (181.727 point)
www.codebreaker.dk
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?

Skrevet søn. d. 10. juni 2007 kl. 16:07:27| #18

nemlig
nemlig (5.151 point)
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.

Skrevet søn. d. 10. juni 2007 kl. 16:10:56| #19

roenving
roenving (328.349 point)
Velbekomme '-)

Skrevet søn. d. 10. juni 2007 kl. 19:11:59| #20


Skrevet søn. d. 10. juni 2007 kl. 20:36:18| #21


Skrevet ons. d. 13. juni 2007 kl. 01:20:30| #22

roenving
roenving (328.349 point)
-- også jeg takker for point ;~}

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Brugerliste med link til profil

Oprettet den 26. maj 2012 kl. 14.29
sayn giver 30 point for svar | Giv et svar »

php curl driller

Oprettet den 26. maj 2012 kl. 08.31
PHPnQrd giver 200 point for svar | Giv et svar »

Array i array

Oprettet den 25. maj 2012 kl. 08.32
sebster giver 60 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger