---
title: "PHP Todo"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/15700-php-todo"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "per-v"
published: "2001-05-29T12:48:00.000Z"
updated: "2001-05-31T21:06:00.000Z"
replies: 18
views: 273
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/15700-php-todo"
---

# PHP Todo

## #1 — per-v, 2001-05-29T12:48Z

Hej Pojkar och flickor...

Nu så börjar bli klar med mitt första PHP script någonsin ( :) ), det är en liten "todo" lista som en lirare behövde här på jobbet.

Ni får gärna gå in på
 <http://www.askfat.net/todo/index.php?namn=webforum> 

och kolla läget.

All kritik är välkommen... dålig eller bra, vilket som.

Tänk på att jag är riktig nybörjare.. he he.

Säkerheten är typ = 0 så ni behöver inte hacka sönder allt ;)

so long.

Permalänk: https://www.webforum.nu/p/15700

## #2 — P, 2001-05-29T14:12Z

Jag skulle föredra att ha datumet i ett annat format.. 2001-01-01 eller något...

Får man fråga hur du gör för att få varanan \<td\> i olika färger? Får inte mitt att funka och vilket teckensnitt det är på bilderna?

En solklar vinnare :e

Permalänk: https://www.webforum.nu/p/318947

## #3 — jepsO, 2001-05-29T14:29Z

> Får man fråga hur du gör för att få varanan \<td\> i olika färger?

Tar mig friheten att svara på frågan ;)

När du loopar fram raderna kan du lägga med en variabel som ökar med 1 för varje rad. Sen nåt i den här stilen:

```
if ($variabel/2 = round($variabel/2)):
$color = "black";
else:
$color = "white";
endif;

<td bgcolor="<? echo($color); ?>">
```

Koden kan vara fel, men principen är som följer: Du kontrollerar om radnumret är ett udda eller ett jämnt tal. Udda rader får en färg och jämna en annan.

Btw, snyggt jobbat med sidan :e

Permalänk: https://www.webforum.nu/p/318948

## #4 — P, 2001-05-29T17:44Z

Tack... precis vad jag var ute efter :e

per-v får gärna säga vilket teckensnitt det är på bilderna...

Permalänk: https://www.webforum.nu/p/318949

## #5 — per-v, 2001-05-29T21:02Z

Hallå..

Tack för kritiken!

P,

```
$bgColor = (++$i & 1) ? '#FFFFFF' : '#EEEEEE';

echo "<tr bgcolor=\"$bgColor\">";
```

"Small fonts" heter typsnittet jag använt mig av på knapparna, det följde med i Win2000.

so long

Permalänk: https://www.webforum.nu/p/318950

## #6 — Ryzzen, 2001-05-30T08:23Z

Vore det inte bättre om mam efter att man ändrat på ett inlägg kom direkt till antecknings listan.
Blir lite mycke klickande..

Vorre även bra när man skall deleta..Om det stod i popup rutan vilken anteckning det var frågan oom.

\[Redigerat av Ryzzen den 30 maj 2001\]

Permalänk: https://www.webforum.nu/p/318951

## #7 — P, 2001-05-30T08:32Z

Vad innebär den här koden?

```
$bgColor = (++$i & 1) ? '#FFFFFF' : '#EEEEEE';
echo "<tr bgcolor=\"$bgColor\">";
```

Permalänk: https://www.webforum.nu/p/318952

## #8 — Web-Tor, 2001-05-30T08:58Z

Jag tycker inte att du skall tillåta HTML.

Det fixar du med hjälp av [htmlspecialchars](http://www.php.net/manual/en/function.htmlspecialchars.php) :)

Permalänk: https://www.webforum.nu/p/318953

## #9 — Kim, 2001-05-30T14:42Z

Bättre att du använder [htmlentities()](http://www.php.net/manual/en/function.htmlentities.php) istället. :)

Permalänk: https://www.webforum.nu/p/318954

## #10 — Chavez, 2001-05-30T19:01Z

> Vad innebär den här koden?

Det är ungefär som en if sats. Om det visar sig att uttrycket inom parentesen är sant så körs det första efter ?. Annars körs det efter :

Förresten, vad heter denna konstruktionen på svenska? Klurade på det när jag skrev om den i PHP skolan.

Permalänk: https://www.webforum.nu/p/318955

## #11 — jepsO, 2001-05-31T07:59Z

Jag är fortfarande inte riktigt med på sättet att skriva.

```
$bgColor = [b](++$i & 1)[/b] ? '#FFFFFF' : '#EEEEEE';
```

Ska det fetmarkerade föreställa en if-sats? :)

Permalänk: https://www.webforum.nu/p/318956

## #12 — P, 2001-05-31T09:48Z

inte jag heller...

Permalänk: https://www.webforum.nu/p/318957

## #13 — per-v, 2001-05-31T11:06Z

Tack för tipsen pojkar, jag ska byta datum formatet, försöka ordna så att HTML inte fungerar, och kolla om man ska skicka iväg användaren direkt till noteringarna när man uppdaterat ett inlägg.

P och jepsO

```
<table>

<?

$fil = file("fil.txt");

while(list(,$varde) = each ($fil)){ 
list ($glass,$sort,$pris) = split("\&#0124;", $varde);

	$bgColor = (++$i & 1) ? '#FFFFFF' : '#EEEEEE';

echo "<tr bgcolor=\"$bgColor\"><td>$glass</td><td>$sort</td><td>$pris</td></tr>";

}
?>

</table>
```

Permalänk: https://www.webforum.nu/p/318958

## #14 — jepsO, 2001-05-31T11:13Z

Jojo, hur det ska implementeras förstår jag. Det är bara raden med **(++$i & 1)** som är oklar. Hur kan det uttrycket vara en if-sats? Vad innebär "++$i & 1"?

Permalänk: https://www.webforum.nu/p/318959

## #15 — SPiN, 2001-05-31T11:24Z

Om du har använt dig av VB nångongång finns det en funktion som heter Iif, som först kollar ett uttryck, om det är sant returneras en true-sträng, annars en false-sträng.
Används i VB så här:
variabel = Iif(2 \> 1, "Truedelen som returneras", "Falsedelen som returners")
variabeln får värdet "Trudelen som returneras", eftersom att uttrycket är sant.

(++$i & 1) ? '#FFFFFF' : '#EEEEEE'; fungerar likadant, fast det är då PHP, C, C#, Java som använder den typen...

Om uttrycket är sant returneras '#FFFFFF', annars returneras '#EEEEEE'

Hänger ni med?

Permalänk: https://www.webforum.nu/p/318960

## #16 — jepsO, 2001-05-31T11:54Z

Det förstod jag *också* :e

Oklarheten ligger i hur **(++$i & 1)** ska kunna tolkas som en if-sats. Vad innebär "++$i", och vad efterfrågas med "& 1"? Om man skulle omforma uttrycket till en "if variabel = värde then", hur skulle den då se ut?

I mina ögon står det bara "variabeln **i** och 1" innanför parentesen. "++" är jag inte bekant med (enbart sysslat med ASP innan).

Ledsen om det börjar bli lite långdraget, men jag förstår verkligen inte sättet att skriva :O

Permalänk: https://www.webforum.nu/p/318961

## #17 — SPiN, 2001-05-31T19:32Z

Ärligt talat förstår jag inte riktigt det heller... Det är knappast så att det finns någon logik i det :)

Permalänk: https://www.webforum.nu/p/318962

## #18 — nicclas, 2001-05-31T21:00Z

En vanlig IF-sats ser ju ut så här
IF \<test\> THEN
  \<true result\> 
ELSE 
  \<false result\>

där \<test\> är det som skall provas tex om ett tal är udda eller ej. \<test\> returnerar alltid "sant" eller "falskt".
Vid sant körs \<true result\> och vid "falskt", \<false result\>

På samma sätt funkar ?:-konstruktionen

\<test\> ? \<true result\> : \<false result\>

I detta fall är test-operationen en operation för att avgöra om ett tal, $i, är udda eller jämnt.
**(++$i & 1)** innebär att först ökas $i med 1, plus-plus betyder öka med ett, &-operatorn är bitvis AND. Ett tal som är udda som AND-at med 1 returnerar "sant", ett jämnt "falskt".
(Vill man öka $i efter testet skriver man $i++.)

Jag hade nog använd "mod-operatorn" % istället:
$bgColor = (++$i % 2) ? '#FFFFFF' : '#EEEEEE';
resutlatet blir dock det samma...

/nicclas - [www.nyhetsrubriker.com](http://www.nyhetsrubriker.com) 

\[Redigerat av nicclas den 31 maj 2001\]

Permalänk: https://www.webforum.nu/p/318963

## #19 — spango, 2001-05-31T21:06Z

**(++$i & 1)**
Betyder:
Öka på $i med ett och gör sedan bitvis OCH mot värdet 1.
Bitvis OCH med 1 resulterar i noll eller ett, och dessa kan som bekant användas som logiska värden. Sen ska ju koden se ut så här för att vara ball ;) :

```
# Innan loopen:
$färger = array('FFFFFF', 'EEEEEE');
$varv = 0;
...
# I loopen:
echo $färger($varv++ % 2);
```

**Ang. TODO-listan**
Tycker man ska komma till listan över anteckningar när man lagt till en anteckning, isf att hamna på "lägg till ny"-sidan.

**\\t** Asch, Nicke han före

Permalänk: https://www.webforum.nu/p/318964

---

Tråden på webben: https://www.webforum.nu/amne/php/15700-php-todo
