2013-11-13 2 views
-2

У меня есть следующая таблица:Php - групповые записи по дням

CREATE TABLE IF NOT EXISTS "visits" ( 
    "id" int(10) unsigned NOT NULL AUTO_INCREMENT, 
    "start" datetime NOT NULL, 
    "finish" datetime NOT NULL, 
    "name" varchar(50) NOT NULL, 
    PRIMARY KEY ("id") 
) 

И я хотел бы показать визиты на ближайшие 2 дня, как показано в следующем коде:

<div id="day>Today</div> 
<a href="#">VISIT NAME</a> 
<a href="#">VISIT NAME</a> 
<a href="#">VISIT NAME</a> 
<div id="day>Tomorrow</div> 
<a href="#">VISIT NAME</a> 
<a href="#">VISIT NAME</a> 
<div id="day>15-11-2013</div> 
<a href="#">VISIT NAME</a> 

В этот момент у меня есть только это Я ищу PHP кода :) на данный момент у меня есть только:

$link=mysql_query('select count(*), DATE_FORMAT(start,"%Y-%m-%d") as start FROM visits GROUP BY start'); 
      while($row=mysql_fetch_array($link)) 
      { 
      echo'<div id="day">'.$row['start'].' '.$row['count(*)'].'</div>'; 
      } 

но S только

<div id="day>Today 3</div> 
<div id="day>Tomorrow 2</div> 
<div id="day>15-11-2013 1</div> 

Заранее благодарим за вашу помощь.

+1

Где ваш код PHP? –

+0

Я ищу PHP-код :) Я поставил все, что у меня есть, –

+0

Пожалуйста, отредактируйте ваше сообщение. – D4V1D

ответ

0

Попробуйте это.

$sql = " 
    SELECT *, DATE(`start`) AS group_name 
    FROM `visits` 
    WHERE DATE(`start`) BETWEEN CURDATE() AND CURDATE() + INTERVAL 2 DAY 
    ORDER BY `start` ASC 
"; 
$result = mysql_query($sql) or die(mysql_error()); 
$group = null; 
while ($row = mysql_fetch_assoc($result)) { 
    if (is_null($group) || $group != $row['group_name']) { 
     $group = $row['group_name']; 
     echo '<div id="day">' . $row['group_name'] . '</div>'; 
    } 
    echo '<a href="#">' . $row['name'] . '</a>'; 
} 
+0

спасибо. Это было очень просто :) –

Смежные вопросы