---
title: "Skriv ut vid visst datum"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/118719-skriv-ut-vid-visst-datum"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "dahlgren"
published: "2004-12-26T19:51:47.000Z"
updated: "2004-12-26T23:14:44.000Z"
replies: 20
views: 538
page: 1
pages: 2
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/118719-skriv-ut-vid-visst-datum"
---

# Skriv ut vid visst datum

_Sida 1 av 2._

## #1 — dahlgren, 2004-12-26T19:51Z

Jag har skapat en sida som vissar nyheter. Nu vill jag att de bara ska visas mellan vissa datum. Datumen finns att tillgå genom $r\['start'\] och $r\['slut'\]. Hur ska jag göra för att nyheten bara visas när det är ok med datumen?

```php
<?PHP
$objConn = mysql_connect ('localhost', 'root', '');
mysql_select_db('test');
$strQuery = mysql_query("
SELECT * FROM nyhet
ORDER BY position ASC
") or exit(mysql_error());
while ($r = mysql_fetch_array($strQuery))
{
echo "<b>",$r['rubrik'],"</b><br/>", $r['text'] . "<br/><hr/>";
}
mysql_close($objConn);
?>
```

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

## #2 — K@llen, 2004-12-26T19:57Z

Lite kod du får justera:

```
$strQuery = mysql_query("SELECT * FROM nyhet 
WHERE datumField BETWEEN $datum1 AND $datum2 
ORDER BY position ASC")
```

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

## #3 — dahlgren, 2004-12-26T20:02Z

Förstår inte riktigt hur det ska fungera datumen ligger i 2 fält vilka jag antar ska stå istället för $datum1 och $datum2. Men vad ska jag ersätta datumField med?

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

## #4 — K@llen, 2004-12-26T20:07Z

> **dahlgren skrev:**
>
> Men vad ska jag ersätta datumField med?

Jag fattade som så att du hade en datumkolumn att jämföra med. Nu i efterhand ser jag att det inte var så självklart. Vad är det du vill jämföra med? Är det kanske dagens datum som ska ligga mellan dina andra två datum?

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

## #5 — dahlgren, 2004-12-26T20:09Z

Precis det är dagens datum jag vill jämföra mot.

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

## #6 — K@llen, 2004-12-26T20:19Z

Du borde kunna skriva så här under förutsättning att dina datumvärden är utformade på följande vis: YYYY-MM-DD eller YYYYMMDD.

```
$strQuery = mysql_query("SELECT * FROM nyhet 
WHERE CURDATE() BETWEEN $datum1 AND $datum2 
ORDER BY position ASC")
```

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

## #7 — dahlgren, 2004-12-26T20:38Z

Det är rätt format på dumen så det borde funka men ger ändå följande felmeddelande.
Parse error: parse error, unexpected '"' in C:\\Server root\\int\\index.php on line 7
Rad 7 innehåller:
") or exit(mysql_error());

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

## #8 — K@llen, 2004-12-26T20:40Z

Hur ser hela koden ut?
Vad skrivs ut om du skriver ut sql-strängen?

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

## #9 — Steady, 2004-12-26T20:40Z

Visa kod, ser ut som du skrivit fel någonstans.
Parse error får man när man missat en ; eller dyl.

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

## #10 — dahlgren, 2004-12-26T20:45Z

Hela koden

```php
<?PHP
$objConn = mysql_connect ('localhost', 'root', '');
mysql_select_db('test');
$strQuery = mysql_query("SELECT * FROM nyhet 
WHERE CURDATE() BETWEEN $start AND $slut 
ORDER BY position ASC")
") or exit(mysql_error());
while ($r = mysql_fetch_array($strQuery))
{
echo "<b>",$r['rubrik'],"</b><br/>", $r['text'] . "<br/><hr/>";
}
mysql_close($objConn);
?>
```

Är helt ny på php så jag lyckkas inte riktigt skriva ut sql-satsen. Hur gör man det?

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

## #11 — K@llen, 2004-12-26T20:49Z

Du hade en ") förmycket. Testa detta:

```php
<?PHP
$objConn = mysql_connect ('localhost', 'root', '');
mysql_select_db('test');
$strQuery = mysql_query("SELECT * FROM nyhet 
WHERE CURDATE() BETWEEN " . $start . " AND " . $slut . " 
ORDER BY position ASC") or exit(mysql_error());

while ($r = mysql_fetch_array($strQuery))
{
echo "<b>",$r['rubrik'],"</b><br/>", $r['text'] . "<br/><hr/>";
}
mysql_close($objConn);
?>
```

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

## #12 — Steady, 2004-12-26T20:49Z

:)

```php
<?PHP
$objConn = mysql_connect ('localhost', 'root', '');
mysql_select_db('test');
$strQuery = mysql_query("SELECT * FROM nyhet 
WHERE CURDATE() BETWEEN $start AND $slut 
ORDER BY position ASC")
or exit(mysql_error());
while ($r = mysql_fetch_array($strQuery))
{
echo "<b>",$r['rubrik'],"</b><br/>", $r['text'] . "<br/><hr/>";
}
mysql_close($objConn);
?>
```

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

## #13 — dahlgren, 2004-12-26T20:53Z

Nu får jag istället att variablerna start och slut är odefinerade trots att de finns i databasen.

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

## #14 — K@llen, 2004-12-26T21:12Z

Nu ser jag lite fler fel. Strängkonkatinering sker i PHP med punkt inte komma:

```php
<?PHP
$objConn = mysql_connect ('localhost', 'root', '');
mysql_select_db('test');
$strQuery = mysql_query("SELECT * FROM nyhet 
WHERE CURDATE() BETWEEN " . $start . " AND " . $slut . " 
ORDER BY position ASC") or exit(mysql_error());

while ($r = mysql_fetch_array($strQuery))
{
echo "<b>" . $r['rubrik'] . "</b><br/>" . $r['text'] . "<br/><hr/>";
}
mysql_close($objConn);
?>
```

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

## #15 — @nders, 2004-12-26T21:13Z

Fråga från en lekman: Bör man inte ha apostrofer runt datumvärden i sin SQL-fråga? :)

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

## #16 — dahlgren, 2004-12-26T21:16Z

Det ger fortfarande samma felmeddelande.

Notice: Undefined variable: start in C:\\Server root\\int\\index.php on line 5

Notice: Undefined variable: slut in C:\\Server root\\int\\index.php on line 5
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND ORDER BY position 

Databasen innehåller förjande
 
           id  rubrik  text  position  start  slut  
      2 Min rubrik 1 Testar ltie 5 2004-12-27 2005-01-01 
      3 Min rubrik   3 2004-12-27 2005-01-01 
      4 Test $start =$\_POST\['start_ar'\] . $\_POST\['start_manad'\]... 2 2008-03-08 2006-05-06 
      5 Dagens Nu borde det mesta funka. 1 2004-12-26 2005-02-05

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

## #17 — @nders, 2004-12-26T21:18Z

Aha, det är fältnamnen, inga variabler. I så fall, byt: 

```php
WHERE CURDATE() BETWEEN " . $start . " AND " . $slut . "
```

 mot: 

```php
WHERE CURDATE() BETWEEN start  AND slut
```

mvh

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

## #18 — K@llen, 2004-12-26T21:21Z

> **@nders skrev:**
>
> Fråga från en lekman: Bör man inte ha apostrofer runt datumvärden i sin SQL-fråga? :)

Så rätt, så rätt, miss av mig. Man ska aldrig göra många sysslor samtidigt. :)

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

## #19 — dahlgren, 2004-12-26T21:23Z

Tack för all hjälp nu funkar det som jag vill.

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

## #20 — Snakes, 2004-12-26T23:12Z

Kan du vara snäll och markera tråden som löst.

Tryck på "Accepetera som slutgiltligt svar", som ligger i nedre högra hörnan av varje inlägg.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/118719-skriv-ut-vid-visst-datum  
Nästa sida: https://www.webforum.nu/amne/php/118719-skriv-ut-vid-visst-datum/page2.md
