/ 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
skifte mellem 2 farver
Fra : AC


Dato : 28-03-03 09:48

Jeg har denne kode som jeg bare IKKE kan få til at virke? Håber virkelig
nogen kan hjælpe ??

while ($arr =
etch_array($sql)){
for ($i = 0; $i < sizeof($arr); $i++) {
if ($i % 1 == 0) {
$class = "bg1";
}else{
$class = "bg2";
}

print "<tr>$i<td class=\"$class\"><a href=\"?SiteId=3&prod=".$arr['id']."\">".$arr['name']."</a></td></tr>";

}
}

Jeg har efterhånden prøvet ALT, men kan bare ikke få den til at skifte mellem bg1 og bg2 ??

/Allan




 
 
Jonas Koch Bentzen (27-03-2003)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 27-03-03 10:48

AC wrote:
> Jeg har denne kode som jeg bare IKKE kan få til at virke? Håber virkelig
> nogen kan hjælpe ??
>
> while ($arr =
> etch_array($sql)){
> for ($i = 0; $i < sizeof($arr); $i++) {
> if ($i % 1 == 0) {
> $class = "bg1";
> }else{
> $class = "bg2";
> }
>
> print "<tr>$i<td class=\"$class\"><a href=\"?SiteId=3&prod=".$arr['id']."\">".$arr['name']."</a></td></tr>";
>
> }
> }
>
> Jeg har efterhånden prøvet ALT, men kan bare ikke få den til at skifte mellem bg1 og bg2 ??

Det, du siger, er: "Hvis 1 går op i $i, så er klassen bg1". Problemet er
bare, at 1 går op i alt. Hvis du vil skifte klasse hver anden gang, skal
du bruge 2:

($i % 2 == 0)

--
Jonas Koch Bentzen

http://findhim.com/


Ukendt (28-03-2003)
Kommentar
Fra : Ukendt


Dato : 28-03-03 11:17


"Jonas Koch Bentzen" <ingen.email@eksempel.dk> wrote in message
news:b5uhc0$p9g$1@sunsite.dk...
> Det, du siger, er: "Hvis 1 går op i $i, så er klassen bg1". Problemet er
> bare, at 1 går op i alt. Hvis du vil skifte klasse hver anden gang, skal
> du bruge 2:
>
> ($i % 2 == 0)
>
> --
> Jonas Koch Bentzen

Tak, det hjalp lidt omend ikke nok ...

Men hver element af mit array bliver listet 3 gange. Og her skifter den
farve på hver anden ud af de 3 ... Men det var meningen at hvert element kun
skal vises EN gang og så hver anden skulle skifte farve ?

Håber det ikk bare lyder som noget sludder !

/Allan



Jonas Koch Bentzen (27-03-2003)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 27-03-03 13:31

AC wrote:
>
> Men hver element af mit array bliver listet 3 gange. Og her skifter den
> farve på hver anden ud af de 3 ... Men det var meningen at hvert element kun
> skal vises EN gang og så hver anden skulle skifte farve ?

Du har af en eller anden grund to løkker inden i hinanden. Prøv noget
lignende det her:

for ($i = 0; $raekke = db_fetch_array($resultat); $i++) {
   $klasse = ($i % 2 == 0) ? "bg1" : "bg2";

   echo "<td class='$klasse'>$raekke[navn]</td>\n";
}


Kim Emax (27-03-2003)
Kommentar
Fra : Kim Emax


Dato : 27-03-03 15:38

AC wrote:

> while ($arr =
> etch_array($sql)){
> for ($i = 0; $i < sizeof($arr); $i++) {
> if ($i % 1 == 0) {
> $class = "bg1";
> }else{
> $class = "bg2";
> }

jeg plejer at bruge noget ala dette:

$num = 1;

while (blablabla) {
$num = $num *-1;
if($num > 0)
$color = "#C0C0C0";
else
$color = #E0E0E0";
#HTML output
}

Altså teste på om tallet er positivt eller negativt....Og så have farverne
sat et andet sted for nem konfiguration.

--
Take Care
Kim Emax - Freelance programmør
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Martin Mouritzen (27-03-2003)
Kommentar
Fra : Martin Mouritzen


Dato : 27-03-03 16:22

On Thu, 27 Mar 2003 15:37:39 +0100, "Kim Emax"
<newsgroup@remove-emax.dk> wrote:

>$num = 1;
>
>while (blablabla) {
> $num = $num *-1;
> if($num > 0)
> $color = "#C0C0C0";
> else
> $color = #E0E0E0";
> #HTML output
>}

$color = ($color == "#C0C0C0" ? "#E0E0E0" : "#C0C0C0");

er mere økonomisk.
--
BellCom Internet ApS. Martin Mouritzen Phone: +45 39401717
Gersonsvej 25 Udvikler Fax: +45 39400144
DK-2900 Hellerup mm@bellcom.dk http://www.bellcom.dk

Kim Emax (27-03-2003)
Kommentar
Fra : Kim Emax


Dato : 27-03-03 18:23

Martin Mouritzen wrote:

> $color = ($color == "#C0C0C0" ? "#E0E0E0" : "#C0C0C0");
>
> er mere økonomisk.

Nu var det et eksempel, hvor pointen var at illustrere positive/negative tal


Men forklar gerne, hvad du mener med økonomisk..

--
Take Care
Kim Emax - Freelance programmør
http://www.emax.dk - http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop



Tonni Aagesen (27-03-2003)
Kommentar
Fra : Tonni Aagesen


Dato : 27-03-03 19:40

Kim Emax wrote:

> Men forklar gerne, hvad du mener med økonomisk..

Sikkert at Martin kun initialiserer en variabel og dermed mindsker
allokering af hukommelse.


--
Mvh
Tonni Aagesen
<agent29 AT stofanet DOT dk>


Jonas Koch Bentzen (27-03-2003)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 27-03-03 20:42

Tonni Aagesen wrote:
>
> Sikkert at Martin kun initialiserer en variabel og dermed mindsker
> allokering af hukommelse.

Hvis man som mig kører med fuld fejlhåndtering, hvor PHP også brokker
sig over usatte variabler, skal man nok initialisere variablen, før man
afprøver, hvad den indeholder:

$klasse = "bg1";

while (hentEnRaekke()) {
   $klasse = ($klasse == "bg1") ? "bg2" : "bg1";
}


Tonni Aagesen (27-03-2003)
Kommentar
Fra : Tonni Aagesen


Dato : 27-03-03 20:51

Jonas Koch Bentzen wrote:

> Hvis man som mig kører med fuld fejlhåndtering, hvor PHP også brokker
> sig over usatte variabler, skal man nok initialisere variablen, før man
> afprøver, hvad den indeholder:
>
> $klasse = "bg1";
>
> while (hentEnRaekke()) {
> $klasse = ($klasse == "bg1") ? "bg2" : "bg1";
> }

Det er vel også det der sker her?

Martin> $color = ($color == "#C0C0C0" ? "#E0E0E0" : "#C0C0C0");

Eller brokker den sig på $color i betingelsen? Hmm, det gør den vel
egentlig.


--
Mvh
Tonni Aagesen
<agent29 AT stofanet DOT dk>


Jonas Koch Bentzen (27-03-2003)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 27-03-03 22:39

Tonni Aagesen wrote:
> Jonas Koch Bentzen wrote:
>
>> Hvis man som mig kører med fuld fejlhåndtering, hvor PHP også brokker
>> sig over usatte variabler, skal man nok initialisere variablen, før
>> man afprøver, hvad den indeholder:
>>
>> $klasse = "bg1";
>>
>> while (hentEnRaekke()) {
>> $klasse = ($klasse == "bg1") ? "bg2" : "bg1";
>> }
>
>
> Det er vel også det der sker her?

Nej - variablen bliver først sat *efter* at dens værdi er afprøvet. Og
afprøver man dens værdi inden man har sat den, ja, så får man (i nogle
tilfælde) en fejlbesked. Det gælder bl.a. de tilfælde, hvor man vha.
set_error_handler() har defineret sin egen funktion til fejlhåndtering.
Hvis man så ikke explicit angiver, at man ikke vil have "notices", så
får man altså fejlbeskeder i de tilfælde, hvor en variabel ikke er sat
eller en arraynøgle ikke findes.


<?php
set_error_handler("fejl");

function fejl($type, $besked) {
   echo "<strong>Fejl: $besked</strong><br/>\n";
}

$color = ($color == "#C0C0C0") ? "#E0E0E0" : "#C0C0C0";
echo $color;
?>

....giver følgende output:

Fejl: Undefined variable: color
#C0C0C0


Morten Trab (27-03-2003)
Kommentar
Fra : Morten Trab


Dato : 27-03-03 22:47

Mon ikke du skulle stille dit ur?? Du er godt 12 timer foran... :)

--
Mvh. Morten Trab
--
Svar venligst kun i NG, med mindre det er MEGET vigtigt.
Ved mail, slet REMOVE i min adresse.

Web: http://www.blackchart.dk
"AC" <NOSPAMmail@denvers.dk> skrev i en meddelelse
news:3e82bf9f$0$24638$edfadb0f@dread14.news.tele.dk...
> Jeg har denne kode som jeg bare IKKE kan få til at virke? Håber virkelig
> nogen kan hjælpe ??
>
> while ($arr =
> etch_array($sql)){
> for ($i = 0; $i < sizeof($arr); $i++) {
> if ($i % 1 == 0) {
> $class = "bg1";
> }else{
> $class = "bg2";
> }
>
> print "<tr>$i<td class=\"$class\"><a
href=\"?SiteId=3&prod=".$arr['id']."\">".$arr['name']."</a></td></tr>";
>
> }
> }
>
> Jeg har efterhånden prøvet ALT, men kan bare ikke få den til at skifte
mellem bg1 og bg2 ??
>
> /Allan
>
>
>



Morten Trab (27-03-2003)
Kommentar
Fra : Morten Trab


Dato : 27-03-03 22:52

Eller rettere 24 timer... :)

--
Mvh. Morten Trab
--
Svar venligst kun i NG, med mindre det er MEGET vigtigt.
Ved mail, slet REMOVE i min adresse.

Web: http://www.blackchart.dk
"Morten Trab" <mortenREMOVE@trab.dk> skrev i en meddelelse
news:1048801654.77507.0@demeter.uk.clara.net...
> Mon ikke du skulle stille dit ur?? Du er godt 12 timer foran... :)
>
> --
> Mvh. Morten Trab
> --
> Svar venligst kun i NG, med mindre det er MEGET vigtigt.
> Ved mail, slet REMOVE i min adresse.
>
> Web: http://www.blackchart.dk
> "AC" <NOSPAMmail@denvers.dk> skrev i en meddelelse
> news:3e82bf9f$0$24638$edfadb0f@dread14.news.tele.dk...
> > Jeg har denne kode som jeg bare IKKE kan få til at virke? Håber virkelig
> > nogen kan hjælpe ??
> >
> > while ($arr =
> > etch_array($sql)){
> > for ($i = 0; $i < sizeof($arr); $i++) {
> > if ($i % 1 == 0) {
> > $class = "bg1";
> > }else{
> > $class = "bg2";
> > }
> >
> > print "<tr>$i<td class=\"$class\"><a
> href=\"?SiteId=3&prod=".$arr['id']."\">".$arr['name']."</a></td></tr>";
> >
> > }
> > }
> >
> > Jeg har efterhånden prøvet ALT, men kan bare ikke få den til at skifte
> mellem bg1 og bg2 ??
> >
> > /Allan
> >
> >
> >
>
>



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408937
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste