Ben php kullanarak tarih biçimini değiştirmek gerekir

3 Cevap php

Merhaba ben zaten bu konuda yayınlanan bir soruya baktı ve bir simlar şey yapmak için kodumu uyum çalıştık. Temelde ben gg-aa-yyyy olmasını biçimine gerekir bu formatı yyyy-gg-aa tarihi vardır benim mysql veritabanında bir alan var. Şu anda benim kod satırında echo "<td><strong> ("d/m/y",". $row['date'] .")</strong></td>"; sıkışmış ve bu Ayrıştırma hatası okur oluyor: sözdizimi hatası, beklenmedik T_STRING, bekliyor ',' veya ';'. Ben değil minnettar olurdu bu herhangi bir fikir düzeltmek için nasıl emin.

$result = mysql_query("SELECT * FROM dbGigs WHERE CURDATE() < date ORDER BY date");

echo "<table class=\"gigs\">
<tr>
<th>Venue</th>
<th>Town</th>
<th>Date</th>
<th>Time</th>
<th>Status</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td><strong>" . $row['venue'] . "</strong></td>";
  echo "<td><strong>" . $row['town'] . "</strong></td>";
  echo "<td><strong> ("d/m/y",". $row['date'] .")</strong></td>";
  echo "<td><strong>" . $row['time'] . "</strong></td>";
  echo "<td><strong>" . $row['status'] . "</strong></td>";
  echo "</tr>";

3 Cevap

İlk şeyler ilk

  echo "<td><strong> ("d/m/y",". $row['date'] .")</strong></td>";

Bu çizgi yanlış görünüyor; Ben gibi bir şey okumak gerektiğini şüpheli

  echo "<td><strong>" . date( "d/m/y", $row['date'] ) . "</strong></td>";

Eksik işlev çağrısı ve birleştirme operatörleri unutmayın. Bu (şimdiye kadar gördüğünüz gibi) sözdizimsel olarak doğru ise arada, bu $row['date'] aslında içerir ne bağlı, aradığınız ne olabilir - bu {[için Unix zaman damgası olması gerekir (1)]} düzgün grok.

Bir Unix zaman damgası olarak tarih elde etmek için, UNIX_TIMESTAMP() tarih seçerken, örneğin MySQL işlevini kullanabilirsiniz

SELECT *, UNIX_TIMESTAMP(date) AS date_ts FROM ...

Daha sonra erişim $row['date_ts'] normal olabilir, ve biçimlendirme için date() işleve aktarmak. Alternatif olarak, strtotime() , bir zaman damgası almak için döndürülen geçerli değeri ayrıştırmak için gibi bir şey kullanabilirsiniz.

Bir başka alternatif MySQL onun DATE_FORMAT() işlevini kullanarak, sizin adınıza tarihi biçimlendirmek sahip olmaktır; yine, sorgudan döndürülen bu değer erişmek ve yazdırabilirsiniz.

Gibi kullanın:

echo "<td><strong>".date("d/m/y", strtotime($row['date']))."</strong></td>";