簡體   English   中英

您將如何按 MYSQL 數據庫中的兩列排序?

[英]How would you order by two columns in MYSQL Database?

我有一個復雜的問題,我已經研究了一段時間。 我什至不知道這是否可行。這是一個 iOS 應用程序,用戶可以在其中重新排序 tableview 中的行,並使用臨時 indexpath.row 更新數據庫 (ordering02)。


要排序的列:

  • ordering01: 產品訂購 1..2..3... 以此類推
  • ordering02:當產品在應用程序中移動到新的 position (indexPath.row) 時,這會暫時在 mysql 數據庫中保存新的 position,直到用戶保存更改。 一旦用戶保存更改,position 就會保存到 ordering01 中。

我想要做的是在應用程序(tableView)中顯示未保存的產品訂單。 為此,我需要同時按 ordering01 和 ordering02 進行排序。 復雜的部分是我需要查詢來檢查 ordering02 是否存在。 如果 ordering02 存在,那么這是使用的列,但如果它不存在,那么使用的列是 ordering01。


$sql = mysql_query("SELECT * FROM products WHERE status = '1' ORDER BY [Check if ordering 02 exists, if it does use ordering 02 if not use ordering01] "); 

while($row = mysql_fetch_array($sql01)){ 

}

這有意義嗎,甚至有可能嗎?

對於臨時存儲,為什么不使用 arrays,直到用戶單擊保存,然后從數組中取出並插入到您的表中。

合並兩個表的最佳方法是在 SQL 代碼中使用“JOINS”命令並檢查表是否存在,PHP 提供了一個名為“exists()”的調用方法,因此您首先要調用表的名稱( ordering02) 在你的 if 語句中。

所以你得到:

$con = mysqli_connect(...);
$tblName = "ordering02";

If (exists($tblName)){
    # Perform action
}else{
    # table doesn't exist
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM