#php
#php
Вопрос:
В настоящее время я извлекаю записи ДАТ, такие как «01/05/2014» и «01/06/2014», из базы данных и отображаю в опции выбора.
Вот мой код:
<label>Year</label>
<select style="margin-right:20px;">
<option value="--" selected="selected">--</option>
<?php
require('Retail/database_connection.php');
if (@mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$select_album_date= "SELECT DISTINCT photo_album_date FROM tblPhotoAlbum";
$result = mysqli_query ($mydatabase, $select_album_date);
if($result)
{
while($row = mysqli_fetch_array($result))
{
$date = $row['photo_album_date'];
$arr = explode("/", $date);
//Split date result into $day, $month, and $year
list($month, $day, $year) = $arr;
echo '<option>'.$year.'</option>';
}
}mysqli_close($mydatabase);
?>
</select>
Результатом $ year, который я получу, будет 2014, 2014, который дублируется. Как я могу отобразить только один 2014 в моем выпадающем списке?
Ответ №1:
Вы можете получить отдельный год следующим образом,
SELECT DISTINCT YEAR(STR_TO_DATE(photo_album_date,'%d/%m/%Y')) FROM tblPhotoAlbum
(Не проверено)
Ответ №2:
попробуйте это
while($row = mysqli_fetch_array($result))
{
$date = $row['photo_album_date'];
$arr = explode("/", $date);
//Split date result into $day, $month, and $year
list($month, $day, $year) = $arr;
// save year into an array
$yr[] = $year;
// echo only if year is not in array
if(!in_array($year,$yr))
echo '<option>'.$year.'</option>';
}