---
title: "Vill skriva ut dagens besökare"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/179007-vill-skriva-ut-dagens-besökare"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Emil W"
published: "2009-06-15T20:47:21.000Z"
updated: "2009-06-15T21:59:24.000Z"
replies: 10
views: 485
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/179007-vill-skriva-ut-dagens-besökare"
---

# Vill skriva ut dagens besökare

## #1 — Emil W, 2009-06-15T20:47Z

Hej alla vill skriva ut bara besökare som har registrerats idag 

och här är mitt försök men har ej fått detta att fungera

$visadatum = date("y-m-d");
$result = mysql_query("SELECT \* FROM \*\*\*\*\*\*\*\*\*\*\*\*\* ORDER BY datum DESC WHERE datum == $visadatum");

vad kan felet vara ?

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

## #2 — Pedda, 2009-06-15T20:53Z

Får du något felmeddelande?
Är det rätt format på datumet? (09-06-15)
Ta bort ena likamed tecknet och sätt ' runt datumet. (... WHERE datum = '$visadatum'" )

/red
ta också bort ORDER BY datum DESC

/tips
Skriv ut sql frågan för att se om något ser fel ut.

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

## #3 — Emil W, 2009-06-15T20:59Z

här är hela min kod 

jag får detta nu Inga besökare har registrerats i dag

```php
<?php
$con = @mysql_connect("*********","*********","********");
if(!$con)
{
die('error' . mysql_error());
}
mysql_select_db("*************", $con);

$visadatum = date("y-m-d");
$result = mysql_query("SELECT * FROM ********  WHERE datum = '$visadatum'");

$rakna = mysql_num_rows($result);

if(mysql_num_rows($result) == 0)
{
echo "Inga besökare har registrerats i dag";
}
else
{
echo "<table border='0' class='tabell' cellpadding='2'>
<th class='tabell' bgcolor='#AAAAAA'>Tid</th>
<th class='tabell' bgcolor='#AAAAAA'>Ip-adress</th>
<th class='tabell' bgcolor='#AAAAAA'>Host</th>
<th class='tabell' bgcolor='#AAAAAA'>User-agent</th>";
}

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td bgcolor='#EEEEEE' class='tabell'><font size='2'>".$row['datum']."</font></td>";
echo "<td bgcolor='#EEEEEE' class='tabell'><font size='2'>".$row['ip_adress']."</font></td>";
echo "<td bgcolor='#EEEEEE' class='tabell'><font size='2'>".$row['host']."</font></td>";
echo "<td bgcolor='#EEEEEE' class='tabell'><font size='2'>".$row['useragent']."</font></td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
```

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

## #4 — Pedda, 2009-06-15T21:02Z

Är för trött för att tänka klart, men testa att ändra till:
$result = mysql_query("SELECT \* FROM \*\*\*\*\*\*\*\*  WHERE datum = '{$visadatum}'");

testa även att skriva ut sql frågan och se om den ser ok ut. Och du har väl några registrerade på aktuellt datum?

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

## #5 — Emil W, 2009-06-15T21:11Z

så här är datumet i fältet datum i formatet 2009-06-15 15:45

men han skriver inte ut något fast det finns besökare registerade i databasen i dag

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

## #6 — Pedda, 2009-06-15T21:36Z

Utgår att du sparar som sträng i databasen.

Då är det inte så konstigt att du inte får ut något.
Nu jämför du datumen i olika format.
Först får du ändra där du deklarerar $visadatum

```php
$visadatum = date("Y-m-d");
```

Versalt Y gör att du får årtalet med fyra siffror, t.ex 2009 istället för 09.

Men det räcker ju inte för att få någon träff, då du i databasen också sparar tiden.
Därför får du kolla med LIKE för att hitta allt som börjar med datumet.

```php
$result = mysql_query("SELECT * FROM ********  WHERE datum LIKE '$visadatum%'");
```

/red
Fundera även på att använda mysql's inbyggda funktioner för datum, t.ex CURRENT_DATE()
<http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html>

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

## #7 — Emil W, 2009-06-15T21:41Z

jag får fel meddelande 

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 'WHERE datum LIKE '2009-06-15%'' at line 1

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

## #8 — Pedda, 2009-06-15T21:48Z

Och hur ser din sql fråga ut?

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

## #9 — Emil W, 2009-06-15T21:50Z

SELECT \* FROM \*\*\*\*\*\*\* ORDER BY datum DESC WHERE datum LIKE '2009-06-15%'

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

## #10 — Pedda, 2009-06-15T21:54Z

ORDER BY ska vara efter WHERE delen.
Men i det här fallet behöver du inte sortera på datum då du ändå bara hämtar ett datum.
så antingen slopar du ORDER BY eller flyttar på den.

```php
SELECT * FROM ******* WHERE datum LIKE '2009-06-15%' ORDER BY datum DESC
```

eller

```php
SELECT * FROM ******* WHERE datum LIKE '2009-06-15%'
```

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

## #11 — Emil W, 2009-06-15T21:59Z

Tack för hjälpen pedda 

Du ger mej mycket bra hjälp

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

---

Tråden på webben: https://www.webforum.nu/amne/php/179007-vill-skriva-ut-dagens-besökare
