My database table have 5 columns: ‘id’, ‘date_visited’, ‘page_title’, ‘ip’ and ‘total_views’.
I am not able to display ORDER BY ‘date_visited’.
My PHP Query is:
<?php
[...]
$query = "SELECT *,count(*) FROM table WHERE ip GROUP BY page_title";
$result = mysqli_query($link,$query) or die(mysqli_error($link). "Q=".$query);
if(!$result == 0) {
while ($row = mysqli_fetch_array($result)) {
$dataList_br .= '<tr>
<td>' .$row['date_visited']. '</td>
<td>' .$row['page_title']. '</td>
<td>' .$row['count(*)']. '</td>
</tr>';
}
} else {
$dataList_br .= '<p class="warning">No data found in database.</p>';
}
?>
When it outputs, it displays [date][page title] and [total views].
Please someone help me, how do I display last date from the query, instead now it displays the very first day the page was visited.
Thank you.
MySQL is lenient about the contents of the
GROUP BYand will return a row for the group somewhat arbitrarily if columns aren’t in theGROUP BYbut areSELECTed. In your case, it just gave you the first row (lowest date) for each group.Get the page_name of the row with the
MAX(date_visited)per group and join that against the main table to pull in the remaining columns from the main table.