我正在构建一个简单的买卖网站,并希望在第一页上列出最新的广告。在我的数据库中有 4 个表。USERS
, CARS
, ELECTRONICS
and COMPUTERS
.
三个项目表中的每一个(CARS
, ELECTRONICS
and COMPUTERS
) have DATESTAMP
在其中,但在此之后我无法轻松地对它们进行排序DATESTAMP
使用 MySQL 和 PHP。
它们都包含不同的列,但具有DATESTAMP
and SSN
(识别用户如何拥有广告)的共同点。
EDIT:
我尝试过加入表格,使用 php 中的 strtotime 对它们进行排序。但我似乎无法理解语法。玩过这段代码..但它变得非常复杂,我希望我可以用纯 SQL 更容易地完成它。它并不完整,但是..你可以看到我在想什么..
<?php
mysql_connect("localhost","root","");
mysql_select_db("project");
$SSN = utf8_decode(strip_tags($_GET['ssn']));
//firstname,lastname, email, phone, address, zipcode, district
$result = mysql_query("SELECT *
FROM CARS
WHERE CARS.SSN = '$SSN'");
$result2 = mysql_query("SELECT *
FROM ELECTRONICS
WHERE ELECTRONICS s.SSN = '$SSN'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
while($obj = mysql_fetch_object($result)) {
$arr[] = $obj;
}
echo '{"users":'.json_encode($arr).'}';
if (!$result2) {
echo 'Could not run query: ' . mysql_error();
exit;
}
while($obj = mysql_fetch_object($result2)) {
$arr[] = $obj;
}
echo '{"users":'.json_encode($arr).'}';
function mysort($a, $b) {
return(strtotime($b['datePosted']) - strtotime($a['datePosted']));
}
// pre-sort:
echo "<pre>Before:\n";
print_r($arr);
// do the sort:
usort($arr, 'mysort');
// show the result:
echo "After:\n";
print_r($arr);
echo "</pre>";
?>