---
title: "Mer tidfrågor."
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/47451-mer-tidfrågor"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Zir Tiger"
published: "2002-07-07T21:02:05.000Z"
updated: "2002-07-08T18:01:49.000Z"
replies: 9
views: 408
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/47451-mer-tidfrågor"
---

# Mer tidfrågor.

## #1 — Zir Tiger, 2002-07-07T21:02Z

Nu står det stil i mitt huvud. Om jag vill ha en sida som skriver ut något såhär:

**Idag**
"Mysql resultat"

**Igår**
"MySQL resultat"

**Övriga dagar**
"MySQL resultat"

Och min kod ser ut såhär: 

```php
<?php $date = date("Y-m-d");
 $sql = "SELECT * FROM dagbok ORDER BY datum DESC";
 $res = mysql_query($sql, $db);
 while ($line = mysql_fetch_object($res))  {
 	 echo "<a href=\"dagbokshow.php?id=$line->id\" target=\"mitt2\">$line->datum</a><br>";
}
 mysql_free_result ($res);
?>
```

Jag har funderat och klurat men det står still i mitt huvud.. Jag akn få ut så att den visar endast idag.. (datum är en datetime kolumn) Men det blir problem när jag vill att den ska visa gårdagens och ännu värre när den sak visa resten..

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

## #2 — Matte, 2002-07-07T21:46Z

Kanske något liknande detta:

```
$today = date("Y-m-d");
$yesterday = date("Y-m-d", time()-86400);

echo "<h1>Idag</h1>";
$sql = "SELECT * FROM dagbok WHERE DATE_FORMAT(datum, '%Y-%m-%d')='$today' ORDER BY datum DESC";
$res = mysql_query($sql);
while ($line = mysql_fetch_object($res))  {
  echo "<a href=\"dagbokshow.php?id=$line->id\" target=\"mitt2\">$line->datum</a><br>";
}

echo "<h1>Igår</h1>";
$sql = "SELECT * FROM dagbok WHERE DATE_FORMAT(datum, '%Y-%m-%d')='$yesterday' ORDER BY datum DESC";
$res = mysql_query($sql);
while ($line = mysql_fetch_object($res))  {
  echo "<a href=\"dagbokshow.php?id=$line->id\" target=\"mitt2\">$line->datum</a><br>";
}

echo "<h1>Övriga dagar</h1>";
$sql = "SELECT * FROM dagbok WHERE DATE_FORMAT(datum, '%Y-%m-%d')<'$yesterday' ORDER BY datum DESC";
$res = mysql_query($sql);
while ($line = mysql_fetch_object($res))  {
  echo "<a href=\"dagbokshow.php?id=$line->id\" target=\"mitt2\">$line->datum</a><br>";
}
```

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

## #3 — LAMP, 2002-07-07T21:50Z

```
?id=$line->id
```

 

vad gör pilarna (-\>) ?

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

## #4 — Zir Tiger, 2002-07-07T23:34Z

Pilarna berättar vilken kolumn den ska välja.. Funkar som klamrar i arrays.. Fasst i objects istället.. Så det är en typisk $line\[id\] sak.. 

Tack tack för hjälpen i övrigt.

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

## #5 — LAMP, 2002-07-07T23:37Z

Följdfråga:

ser att vissa använder mysql_fetch_array och vissa mysql_fetch_object, när ska man använda vad?

Finns det skillnad på prestanda mm?

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

## #6 — Zir Tiger, 2002-07-08T11:16Z

Jag tror att det är smartare att använda array när du ska göra beräkningar med resultaten, men jag är inte säker. Jag brukar använda det som jag tycker är lättast.

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

## #7 — Zir Tiger, 2002-07-08T11:22Z

Matte: ditt script funkade perfekt. =) Skitsnyggt tack, tack..

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

## #8 — SPiN, 2002-07-08T11:34Z

> **LAMP skrev:**
>
> Följdfråga:
> 
> ser att vissa använder mysql_fetch_array och vissa mysql_fetch_object, när ska man använda vad?
> 
> Finns det skillnad på prestanda mm?

Det är ingen skillnad på mysql_fetch_object() och mysql_fetch_array() förutom att med \_object får du tillbaka ett object, och kallar på fälten efter deras namn - medan du med \_array kan välja mellan att använda indexnummer eller fältnamn. Båda är lika snabba. Den snabbaste varianten är mysql_fetch_row() vilken du endast kan använda indexnummer mot.
**mysql_fetch_object() exempel**

```
$mysqlResult = mysql_query( "SELECT namn, epost FROM table" );
while( $curObject = mysql_fetch_object( $mysqlResult ) ) {
     echo "Namn: " . $curObject->namn . "<br />";
     echo "E-post: " . $curObject->epost . "<br />";
}
```

**mysql_fetch_array() exempel**

```
$mysqlResult = mysql_query( "SELECT namn, epost FROM table" );
while( $curArray = mysql_fetch_array( $mysqlResult ) ) {
     echo "Namn: " . $curArray[ "namn" ] . "<br />";
     echo "E-post: " . $curArray[ 1 ] . "<br />";
}
```

**mysql_fetch_row() exempel**

```
$mysqlResult = mysql_query( "SELECT namn, epost FROM table" );
while( $curRow = mysql_fetch_row( $mysqlResult ) ) {
     echo "Namn: " . $curRow[ 0 ] . "<br />";
     echo "E-post: " . $curRow[ 1 ] . "<br />";
}
```

Det sista exemplet är alltså det snabbaste. :)

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

## #9 — LAMP, 2002-07-08T13:30Z

Tack Spin :D 

(du skrev fel rubrik på senaste exemplet, för det var ju row-metoden inte object-metoden)

Behöver man ej göra en koll innan man loopar ut något med while? Jag har studerat en hel del skript de senaste dagarna och ingen verkar göra en koll om man fick ut data innan man loopar, men man i ASP alltid gör kollen. Vad beror detta på?

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

## #10 — SPiN, 2002-07-08T18:01Z

Jag gör alltid en koll innan:

```
if( mysql_num_rows( $mysqlResult ) < 1 ) {
     // Inget hittades
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/47451-mer-tidfrågor
