В приведенном ниже коде перечислены 25 лучших записей (переменная «site») из базы данных MySQL по параметру голосования_up в порядке убывания. Работает отлично. В каждой строке есть столбец с именем «createdatetime», имеющий следующую структуру:
Тип: отметка времени
По умолчанию: CURRENT_TIMESTAMP
Как я могу изменить код ниже, чтобы показать 25 последних добавленных записей? Кроме того, как я могу отобразить метку времени следующим образом: «1 ноября 2009 года, 15:45 по Гринвичу»
Заранее спасибо,
John
mysql_connect("mysqlv8", "username", "password") or die(mysql_error());
mysql_select_db("sitefeather") or die(mysql_error());
$result = mysql_query("SHOW TABLES");
$tables = array();
while ($row = mysql_fetch_assoc($result)) {
$tables[] = '`'.$row["Tables_in_sitefeather"].'`';
}
//$subQuery = "SELECT site, votes_up FROM ".implode(" UNION ALL SELECT site, votes_up FROM ",$tables);
$subQueryParts = array();
foreach($tables as $table)
$subQueryParts[] = "SELECT site, votes_up FROM $table WHERE LENGTH(site)";
$subQuery = implode(" UNION ALL ", $subQueryParts);
// Create one query that gets the data you need
$sqlStr = "SELECT site, sum(votes_up) sumVotesUp
FROM (
".$subQuery." ) subQuery
GROUP BY site ORDER BY sum(votes_up) DESC LIMIT 25";
$result = mysql_query($sqlStr);
$arr = array();
echo "<table class=\"samples2\">";
while ($row = mysql_fetch_assoc($result)) {
echo '<tr>';
echo '<td class="sitename2"><a href="sitelookup3.php?entry='.urlencode($row["site"]).'&searching=yes&search=search">'.$row["site"].'</a></td>';
echo '<td>'.$row["sumVotesUp"].'</td>';
echo '</tr>';
}
echo "</table>";