我正在建立一个简单的买卖网站,并想列出最新的广告在第一页。在我的数据库中,我有4个表。USERS、CARS、ELECTRONICS和COMPUTERS。
三个项目表(CARS、ELECTRONICS和COMPUTERS)中的每一个都有DATESTAMP,但是在这个DATESTAMP之后,我无法使用MySQL和PHP轻松地对它们进行排序。
它们都包含不同的列,但具有共同的DATESTAMP和SSN (标识用户如何拥有广告)。
编辑:
我尝试连接这些表,在php中使用strtotime对它们进行排序。但是我似乎不能理解它的语法。使用此代码进行游戏..但是它变得非常复杂,我希望我可以在纯not中更容易地完成它。你可以看到我在想什么..
<?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>";
?>发布于 2011-05-14 08:18:18
从设计的角度来看,您可以拥有一个ITEMS表,其中包含与所有类型的项目相关的属性,例如ID、日期戳、SSN。在与ITEMS表中相关项目的ID相匹配的每个其他项目相关表上具有ID PK。
ITEMS
ID DATESTAMP SSN
1 2011-01-01 12345
2 2011-01-02 12345
3 2011-01-04 54321
CARS
ID MANUFACTURER MODEL
1 Volvo V40
3 Volkswagen Beetle
COMPUTERS
ID BRAND PROCESSOR
2 Dell 386https://stackoverflow.com/questions/5998896
复制相似问题