我有兩個表users
和friends_in
。 Users
表是我的主表,每個註冊用戶信息都存儲在那裏。 Friends_in
表是其中一個朋友另一個朋友請求sended信息。現在我比較我friends_in
表from_fren
列數據與users
表people_name
column.I從users
表第一取出的數據中像下面的功能被存儲爲from_fren
柱和to_fren
: -ORDER BY子句不工作的第二個表是關於與第一臺
$query = "SELECT person_name FROM users";
try
{
$stmts = $db->prepare($query);
$result = $stmts->execute();
if($result == true)
{
$done = true;
}
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
if($done)
{
$rows = $stmts->fetchAll();
return $rows;
}
}
$data = forallUsers();
現在,我得到了我的所有用戶的細節,這樣,在那之後我用了一個foreach
循環,並比較了users
表及其與friends_in
表其列from_fren
列person_name
象下面這樣: -
foreach($data as $row){
require('My database info is here');
$done_two = false;
$other = $row['person_name'];
$realuser = $_SESSION['username'] ['username'];
$query = 'SELECT from_fren,to_fren FROM friend_in WHERE (from_fren = :ot and to_fren = :me)';
$query_paramt = array(
':ot' => $other,
':me' => $realuser
);
try
{
$stmts = $db->prepare($query);
$results = $stmts->execute($query_paramt);
if($results == true)
{
$done_two = true;
}
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
if($done_two) {
//do something....
}
}
我想從friend_in
表中選擇from_fren
和to_fren
兩列。 $other
是誰派弗倫請求$realuser
是誰正在接收弗倫提出建議的人的人(這將是會話的用戶)。
****但我的主要問題是****
當我這顯示在我的網站,我得到的from_fren
和to_fren
數據ORDER BY
ID users
的ASC
table.I的意思是我想告訴最新friend_request信息session_user
。數據我順利拿到,但問題是,這些數據是一些如何users
表的ID ASC
顯示在order
。
我怎麼能證明在這種情況下session_user
新弗倫要求?我試圖和名稱latest
在friend_in
表作出了新的列並設置類型datetime
數據庫和PHP支持now()
。我改變我以往的代碼和它現在的工作用於存儲當前datetime
當一個用戶發送弗倫REQ到another.After我用ORDER BY
條款上friend_in
表latest
列DSEC
。這一個是我的新代碼: -
foreach($data as $row){
require('My database info is here');
$done_two = false;
$other = $row['person_name'];
$realuser = $_SESSION['username'] ['username'];
$query = 'SELECT from_fren,to_fren FROM friend_in WHERE (from_fren = :ot and to_fren = :me) ORDER BY latest DESC';
$query_paramt = array(
':ot' => $other,
':me' => $realuser
);
try
{
$stmts = $db->prepare($query);
$results = $stmts->execute($query_paramt);
if($results == true)
{
$done_two = true;
}
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
if($done_two) {
//do something....
}
}
但是,我還是沒能得到最新的朋友請求該會話的用戶。即使friend_in
個表列數據那樣工作users
table.How我可以讓我的工作,第二個代碼的ORDER BY id ASC
?
'由USER_ID遞減選擇PERSON_NAME來自用戶的命令'所以最新的代碼將首先出現,然後在'foreach'中使用時,您將首先獲得最新的數據,或者使用'second sql'中的'order by id desc'命令。 –
這樣做是沒有工作的兄弟,我想這會不會導致更高的'id'會出現在第一不管較低'id' sended的弗倫REQ第一,由於高說明ID出現在第一:/ –
你想更高的ID先來或其他任何事情。 –