mysql — Добавление столбца DateDiff в таблицу PHP с использованием MySQLI

Я пытаюсь добавить столбец в таблицу базы данных, который показывает разницу между отметкой времени и текущей датой. Я пытался создать другой запрос с использованием DateDiff, но я не уверен, что именно я делаю неправильно.
Кто-нибудь может помочь?

Мой код ниже.

    <?php
$result = mysqli_query($con,"SELECT * FROM pokemon ORDER BY stats");

echo "<table border='1'>
<tr>
<th>Pokemon Name</th>
<th>Type One</th>
<th>Type Two</th>
<th>Move One</th>
<th>Move Two</th>
<th>Move Three</th>
<th>Move Four</th>
<th>Stats</th>
<th>ID</th>
<th>Date Added</th>
<th>Days on File</th>
</tr>";

while($row = mysqli_fetch_array($result))
{
$query = "SELECT DATEDIFF(CURDATE, $row[dAdded])FROM pokemon AS days";
$date =  mysqli_query($con, $query);


echo "<tr>";
echo "<td>" . $row['pName'] . "</td>";
echo "<td>" . $row['type1'] . "</td>";
echo "<td>" . $row['type2'] . "</td>";
echo "<td>" . $row['move1'] . "</td>";
echo "<td>" . $row['move2'] . "</td>";
echo "<td>" . $row['move3'] . "</td>";
echo "<td>" . $row['move4'] . "</td>";
echo "<td>" . $row['stats'] . "</td>";
echo "<td>" . $row['ID'] . "</td>";
echo "<td>" . $row['dAdded'] . "</td>";
echo "<td>" . $date . "days</td>";
echo "</tr>";
}
echo "</table>";
?>

1

Решение

Вы можете добавить дату к исходному запросу. Вам также нужно будет использовать fetch_assoc, а не fetch_array, чтобы вы могли ссылаться на имена полей в $ row.

$result = mysqli_query($con,"SELECT *, DATEDIFF(CURDATE, dAdded) as dDate FROM pokemon ORDER BY stats");
while($row = mysqli_fetch_assoc($result))
{

}
1

Другие решения

Я подозреваю, что проблема в вашем DATEDIFF() функция, более конкретно с $row[dAdded], Разве это не должно быть $row['dAdded'] с цитатами? А также я верю CURDATE нужна скобка, как CURDATE(),

DATEDIFF(CURDATE(), $row['dAdded'])
0

По вопросам рекламы [email protected]