/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Syntaksproblemer?
Fra : Michael Alø-Nielsen


Dato : 12-08-03 17:36

I et script hvor jeg hiver nogle poster ud af min database har jeg en lille
rutine der skifter farven på hveranden linie...
Følgende virker efter hensigten:

$color = ($z%2) ? "#F5F5F5" : "#FEFEFE";

Men da jeg har defineret mine farver i en ekstern fil som jeg har includeret
(hvor farverne er forskellige alt efter hvilket stylesheet som er loadet),
vil jeg gerne have det til at virke med følgende istedet:

$color = ($z%2) ? "$color09" : "$color08";

Andre steder i mit script virker det fint. F.eks. når jeg bruger det sådan
her:

echo "<table width=\"100%\" align=\"center\" border=\"0\" cellpadding=\"5\"
cellspacing=\"1\" bgcolor=\"$color04\">";

Er det et problem med min syntaks, eller hvad sker der?

/Michael.




 
 
Martin Sveegaard (12-08-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 12-08-03 18:05

On Tue, 12 Aug 2003 18:35:56 +0200, "Michael Alø-Nielsen"
<m-alo@hotpop.com> wrote:

>I et script hvor jeg hiver nogle poster ud af min database har jeg en lille
>rutine der skifter farven på hveranden linie...
>Følgende virker efter hensigten:
>
> $color = ($z%2) ? "#F5F5F5" : "#FEFEFE";
>
>Men da jeg har defineret mine farver i en ekstern fil som jeg har includeret
>(hvor farverne er forskellige alt efter hvilket stylesheet som er loadet),
>vil jeg gerne have det til at virke med følgende istedet:
>
> $color = ($z%2) ? "$color09" : "$color08";
>
>Andre steder i mit script virker det fint. F.eks. når jeg bruger det sådan
>her:
>
>echo "<table width=\"100%\" align=\"center\" border=\"0\" cellpadding=\"5\"
>cellspacing=\"1\" bgcolor=\"$color04\">";
>
>Er det et problem med min syntaks, eller hvad sker der?
>
>/Michael.

Ja, du skal nok ikke bruge quotes, prøv i stedet:

$color = ($z%2) ? $color09 : $color08;
MVH Martin S

Michael Alø-Nielsen (12-08-2003)
Kommentar
Fra : Michael Alø-Nielsen


Dato : 12-08-03 18:19

"Martin Sveegaard" <sveegaard@tdcadslFJERNDETTE.dk> skrev i en meddelelse
news:2e7ijvgdut3ed8l9k18sf3ddkfnl2tlfbt@4ax.com...

> Ja, du skal nok ikke bruge quotes, prøv i stedet:
>
> $color = ($z%2) ? $color09 : $color08;

Det virker desværre heller ikke...
Det ser ikke ud som om det giver nogen effekt overhovedet hverken med eller
uden quotes. (Man kan se tabellens baggrundsfarve, og de enkelte rækker får
ikke hver deres farve som hensigten jo var).

/Michael.



Michael Alø-Nielsen (12-08-2003)
Kommentar
Fra : Michael Alø-Nielsen


Dato : 12-08-03 18:23

"Michael Alø-Nielsen" <m-alo@hotpop.com> skrev i en meddelelse
news:3f39217d$0$24630$edfadb0f@dread14.news.tele.dk...

> Det ser ikke ud som om det giver nogen effekt overhovedet hverken med
eller
> uden quotes. (Man kan se tabellens baggrundsfarve, og de enkelte rækker
får
> ikke hver deres farve som hensigten jo var).

Når jeg prøver med f.eks:

$color = ($z%2) ? "echo $color09;" : "echo $color08;";

Bliver bagrundsfarven på rækkerne kraftigt rød (en farve som jeg absolut
ikke har defineret nogen steder!)
Er jeg kommet tættere på den rigtige syntaks?

/Michael.



Martin Sveegaard (12-08-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 12-08-03 20:51

On Tue, 12 Aug 2003 19:23:20 +0200, "Michael Alø-Nielsen"
<m-alo@hotpop.com> wrote:

>"Michael Alø-Nielsen" <m-alo@hotpop.com> skrev i en meddelelse
>news:3f39217d$0$24630$edfadb0f@dread14.news.tele.dk...
>
>> Det ser ikke ud som om det giver nogen effekt overhovedet hverken med
>eller
>> uden quotes. (Man kan se tabellens baggrundsfarve, og de enkelte rækker
>får
>> ikke hver deres farve som hensigten jo var).
>
>Når jeg prøver med f.eks:
>
> $color = ($z%2) ? "echo $color09;" : "echo $color08;";
>
>Bliver bagrundsfarven på rækkerne kraftigt rød (en farve som jeg absolut
>ikke har defineret nogen steder!)
>Er jeg kommet tættere på den rigtige syntaks?
>
>/Michael.
>
Nej, problemet må ligge i den fil du includerer. Måske har du der ikke
tildelt værdierne rigtigt.
Dette virker fx og illustrerer den rigtige måde at tildele værdien:

$color04 = "#00FF00";
$color = $color04;
echo "<table width=\"100%\" align=\"center\" border=\"0\"
cellpadding=\"5\"
cellspacing=\"1\" bgcolor=\"$color\">";

MVH Martin S

Michael Alø-Nielsen (12-08-2003)
Kommentar
Fra : Michael Alø-Nielsen


Dato : 12-08-03 22:15

"Martin Sveegaard" <sveegaard@tdcadslFJERNDETTE.dk> skrev i en meddelelse
news:d9hijv071o7ij6gktnhih7ff9t7htkko3k@4ax.com...

> Nej, problemet må ligge i den fil du includerer. Måske har du der ikke
> tildelt værdierne rigtigt.
> Dette virker fx og illustrerer den rigtige måde at tildele værdien:
>
> $color04 = "#00FF00";

Sådan er det også gjort i filen jeg includerer...
Jeg fatter ikke hvorfor det ikke vil virke. Her er lidt mere af koden, måske
det kan hjælpe?:

$z=0;
$color = ($z%2) ? "$color09" : "color08";
echo "<tr bgcolor=\"".$color."\">";
echo "<td class=\"smallest\" align=\"center\" width=\"1%\">$datoen</td>";
echo "<td class=\"smallest\" width=\"49%\"><a
href=\"$PHP_SELF?page=viskoncert&id=$id\">$kunstner</a><br>$event</td>";
echo "<td class=\"smallest\" align=\"center\" width=\"1%\"><a
href=\"$PHP_SELF?page=rating\" class=\"imglink\"><img
src=\"inc/images/".$rating_value.".gif\" width=\"54\" height=\"11\"
border=\"0\" align=\"absmiddle\" alt=\"Vis bedømmelses-skala\"></a></td>";
echo "<td class=\"smallest\" width=\"49%\">$spillested</td>";
echo "</tr>";
$z++;

/Michael.



Benny Nissen (12-08-2003)
Kommentar
Fra : Benny Nissen


Dato : 12-08-03 22:26


> $color = ($z%2) ? "$color09" : "color08";
-----------------------------------^^^
Mangler der ikke et $-tegn der ?

> echo "<tr bgcolor=\"".$color."\">";

Når du bruger dobbelte anførselstegn, så bliver variabler parset.
Det vil sige at ovenstående linie kan skrives som:
echo "<tr bgcolor=\"$color\">";


--
Benny Nissen



Michael Alø-Nielsen (13-08-2003)
Kommentar
Fra : Michael Alø-Nielsen


Dato : 13-08-03 19:27

"Benny Nissen" <news@bennynissen.dk> skrev i en meddelelse
news:3f395b57$0$21667$edfadb0f@dread11.news.tele.dk...
>
> > $color = ($z%2) ? "$color09" : "color08";
> -----------------------------------^^^
> Mangler der ikke et $-tegn der ?

Jow da... Er rettet!

> > echo "<tr bgcolor=\"".$color."\">";
>
> Når du bruger dobbelte anførselstegn, så bliver variabler parset.
> Det vil sige at ovenstående linie kan skrives som:
> echo "<tr bgcolor=\"$color\">";

Takker, men jeg har prøvet med begge metoder og det giver ingen forskel...

/Michael.



Martin Sveegaard (13-08-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 13-08-03 20:25

On Wed, 13 Aug 2003 20:27:09 +0200, "Michael Alø-Nielsen"
<m-alo@hotpop.com> wrote:

>Takker, men jeg har prøvet med begge metoder og det giver ingen forskel...

Jeg forstår bare ikke hvorfor det ikke fungerer for dig.
Jeg har lavet dette simple script og det fungerer ok:

test.php
-----------
<?php
include 'farver.php';
echo "<table>";
for ($tr=0;$tr<4;$tr++) {
   echo "<tr>";
   for ($td=0;$td<4;$td++) {
      if ($td%2) $color = $color01;
      else $color = $color02;
      echo "<td bgcolor=\"$color\">$tr $td</td>";
   }
   echo "</tr>";
}
echo "</table>";
?>

farver.php
--------------
<?
$color01 = "#CC3399";
$color02 = "#6633CC";
?>
MVH Martin S

Thomas Lindgaard (12-08-2003)
Kommentar
Fra : Thomas Lindgaard


Dato : 12-08-03 21:11

Michael Alø-Nielsen wrote:

[snip]

> Men da jeg har defineret mine farver i en ekstern fil som jeg har includeret
> (hvor farverne er forskellige alt efter hvilket stylesheet som er loadet),
> vil jeg gerne have det til at virke med følgende istedet:
>
> $color = ($z%2) ? "$color09" : "$color08";

Jeg har ikke tænkt mig at svare på dit spørgsmål :) - men vil blot
stille dig et andet:

Hvorfor trække en farve ud af filen i stedet for at lade baggrundsfarven
styre af dit stylesheet? Sårn lidt a la:

<?php
$z = 0;
while ($row = mysql_fetch_array())
{
$style = (( $z++ % 2 ) ? 'farve1' : 'farve2')
print "<td style=\"$style\">{$row['data']}</td>"
}
?>

[snip]

Mvh.
/Thomas


Michael Alø-Nielsen (12-08-2003)
Kommentar
Fra : Michael Alø-Nielsen


Dato : 12-08-03 22:15

"Thomas Lindgaard" <thomas@it-snedkeren.BLACK_HOLE.dk> skrev i en meddelelse
news:bhbhm1$alb$1@sunsite.dk...

> Jeg har ikke tænkt mig at svare på dit spørgsmål :) - men vil blot
> stille dig et andet:

Fair nok...

> Hvorfor trække en farve ud af filen i stedet for at lade baggrundsfarven
> styre af dit stylesheet? Sårn lidt a la:
>
> <?php
> $z = 0;
> while ($row = mysql_fetch_array())
> {
> $style = (( $z++ % 2 ) ? 'farve1' : 'farve2')
> print "<td style=\"$style\">{$row['data']}</td>"
> }
> ?>

Det ville jeg skam også gerne, men jeg ved ikke hvordan jeg skulle kunne
gøre det, da jeg opererer med 20 forskellige stylesheets der gør at brugeren
selv kan vælge farveskema, og jeg aner jo ikke hvilket stylesheet den
enkelte bruger har valgt, derfor har jeg lavet en fil der definerer farverne
alt efter hvilket stylesheet brugeren har valgt, og det er denne fil jeg
inkluderer...

/Michael.



Thomas Lindgaard (12-08-2003)
Kommentar
Fra : Thomas Lindgaard


Dato : 12-08-03 23:04

Michael Alø-Nielsen wrote:

> "Thomas Lindgaard" <thomas@it-snedkeren.BLACK_HOLE.dk> skrev i en meddelelse
> news:bhbhm1$alb$1@sunsite.dk...
>
>
>>Jeg har ikke tænkt mig at svare på dit spørgsmål :) - men vil blot
>>stille dig et andet:
>
>
> Fair nok...
>
>
>>Hvorfor trække en farve ud af filen i stedet for at lade baggrundsfarven
>>styre af dit stylesheet? Sårn lidt a la:
>>
>><?php
>> $z = 0;
>> while ($row = mysql_fetch_array())
>> {
>> $style = (( $z++ % 2 ) ? 'farve1' : 'farve2')
>> print "<td style=\"$style\">{$row['data']}</td>"
>> }
>>?>
>
>
> Det ville jeg skam også gerne, men jeg ved ikke hvordan jeg skulle kunne
> gøre det, da jeg opererer med 20 forskellige stylesheets der gør at brugeren
> selv kan vælge farveskema, og jeg aner jo ikke hvilket stylesheet den
> enkelte bruger har valgt, derfor har jeg lavet en fil der definerer farverne
> alt efter hvilket stylesheet brugeren har valgt, og det er denne fil jeg
> inkluderer...
>
> /Michael.

Jamen hvis hvert enkelt stylesheet definerer to klasser - en til farvede
rækker og en til ufarvede - og din PHP så blot skiftevis skriver
class="farve" og class="ingen_farve", er du så ikke ude over det problem?

Mvh.
/Thomas


Benny Nissen (12-08-2003)
Kommentar
Fra : Benny Nissen


Dato : 12-08-03 23:12

> Jamen hvis hvert enkelt stylesheet definerer to klasser - en til farvede
> rækker og en til ufarvede - og din PHP så blot skiftevis skriver
> class="farve" og class="ingen_farve", er du så ikke ude over det problem?

Lige en lille detalje: _ (underscore) må ikke bruges i klassenavne i CSS 2.
Ellers lyder det da som en god idé.


--
Benny Nissen



Peter Sepstrup (12-08-2003)
Kommentar
Fra : Peter Sepstrup


Dato : 12-08-03 23:32

Benny Nissen skrev:

> Lige en lille detalje: _ (underscore) må ikke bruges i klassenavne i CSS
> 2. Ellers lyder det da som en god idé.

Det løses snildt med: "ingenFarve" i stedet for
--
Mvh. Peter.
___________________________________
www.SepstrupNET.dk & www.PHP-FAQ.dk

Benny Nissen (12-08-2003)
Kommentar
Fra : Benny Nissen


Dato : 12-08-03 23:36

> > Lige en lille detalje: _ (underscore) må ikke bruges i klassenavne i CSS
>
> Det løses snildt med: "ingenFarve" i stedet for

Jeps. Det var også bare for at nævne det, så han ikke blev forvirret ved en
senere validering.


--
Benny Nissen



Peter Sepstrup (13-08-2003)
Kommentar
Fra : Peter Sepstrup


Dato : 13-08-03 07:12

Benny Nissen skrev:

> Jeps. Det var også bare for at nævne det, så han ikke blev forvirret ved
> en senere validering.

Ja det er rart at vide på forhånd

Jeg har engang sidet med et stylesheet på 3 sider hvor næsten alle navne var
lavet med "_" så bliver man træt af det når man skal til at rette :D
--
Mvh. Peter.
___________________________________
www.SepstrupNET.dk & www.PHP-FAQ.dk

Michael Alø-Nielsen (13-08-2003)
Kommentar
Fra : Michael Alø-Nielsen


Dato : 13-08-03 19:23

"Thomas Lindgaard" <thomas@it-snedkeren.BLACK_HOLE.dk> skrev i en meddelelse
news:bhbo8s$i24$1@sunsite.dk...

> Jamen hvis hvert enkelt stylesheet definerer to klasser - en til farvede
> rækker og en til ufarvede - og din PHP så blot skiftevis skriver
> class="farve" og class="ingen_farve", er du så ikke ude over det problem?

Jow, men det var det jeg gerne ville undgå da jeg så skulle rette i 20
stylesheets, da farverne ikke er defineret som klasser i sheets'ne...
Well, never mind, nu har jeg da fået det løst på den måde, jeg synes bare
det er underligt at det ikke virker med den anden metode...

/Michael.



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste