Как отобразить части даты отдельно - PullRequest
2 голосов
/ 25 сентября 2011

Я нашел место в Интернете, где они отвечают на разные вопросы, но я все еще не понимаю, как я могу применить его к своему коду.

В основном я хочу, чтобы месяц был в одной эхо-строке, а номер дня - в другом эхо.

Можно ли это сделать в моем коде?

  <?php 
  // Connects to your Database 
  $data = mysql_query("SELECT id, title, description, location, date FROM Calendar") 
  or die(mysql_error());  
  while($row = mysql_fetch_array( $data )) 
  { 

  echo "<article>";
  echo "<date>"; 
  echo "<h3>" .$row['date(month)'] . "</h3>";
  echo "<h4>" .$row['date(day)'] . "</h4>"; 
  echo "</date>";

  echo "</article>";
  }
  ?>   

Ответы [ 4 ]

4 голосов
/ 25 сентября 2011

Вы должны иметь возможность просто передавать дату через strtotime:

$month = date('m', strtotime($row['date']));
$day = date('d', strtotime($row['date']));

Но это будет зависеть от формата даты, хранящейся в базе данных.Это должно работать для столбца типа TIMESTAMP или метки времени UNIX или (по большей части) строкового представления даты.

1 голос
/ 25 сентября 2011

Вот способ опередить их в запросе MySQL, в качестве альтернативы последующему их разбору в PHP.

$data = mysql_query("SELECT id, title, description, location, DATE_FORMAT(date, '%m') AS `month`, DATE_FORMAT(date, '%d') AS `day` FROM Calendar") 
  or die(mysql_error());

Затем для доступа к ним:

while($row = mysql_fetch_array( $data )) 
{ 
   echo $row['month'];
   echo $row['day'];
}

В качестве альтернативы, чтобы получить название месяца вместо номера, используйте DATE_FORMAT(date, '%M') as month

MySQL DATE_FORMAT() документация

0 голосов
/ 23 мая 2013

Если вы хотите отобразить дату точно как название месяца, вы можете использовать «F».Например:

$ month = date ('F', strtotime ($ row ['dateRepaired']));

0 голосов
/ 25 сентября 2011

Сначала вы получаете Unix-время даты, а затем форматируете две разные строки.

...