からのデータを含むテーブルのNON-SQLテーブル列のソート以下は、単純化したバージョンにコードを削除したものです。私はのためのSQL SELECTの結果を格納しています:SQLクエリ
- 姓(dlname)
- カテゴリ(カテゴリ)このデータはデータベースに追加された
- 日(DATE_ADDED)
- クライアント名(クライアント)
「days_on_list」というSQL SELECTの外に追加フィールドが追加されました。このフィールドには、データがデータベースに追加されてからの日数が表示され、テーブルにユーザーデータの5列が出力されます。全部で5つの列が大切です。
私はサーバーサイドのJSONを使用しており、これをテーブルに表示して5つの列のうちの4つの列をソートすることに成功しました。 問題は、「days_on_list」フィールドを並べ替えることができないということです.SQLコードを含むPHPファイルは、選択クエリから4つのフィールドをソートすることしかできません。 'days_on_list'列をテーブル内でソートできるようにする方法はありますか?私はSQLテーブルにこのフィールドを追加することができますが、私はこれを毎日更新する予定のイベントをサーバー上で実行する必要があります(これは私が快適ではない)。
このような柔軟なテーブルソートを可能にする別の方法はありますか?
タイトル(紛らわしいかもしれません)に関して、私はこれを質問に入れていました。
/*SQL CODE ABOVE HERE STORES SELECT RETURNS IN $result*/
$cart = array();
$i = 0; //index the entries
// get variables from sql result.
if ($num_rows > 0) { //if table is populated...
while ($row = mysqli_fetch_assoc($result)) {
//calculate days on list by getting the number of days from
//the 'date_added' to today
$date1 = date_create($row['date_added']);
$today = date_create(date("d-m-Y"));
$interval = date_diff($date1, $today);
$doty = $interval - > format("%a");
$cart[$i] = array(
"dlname" => htmlspecialchars($row['dlname']),
"category" => htmlspecialchars($row['category']),
"date_added" => htmlspecialchars($row['date_added']),
"client" => htmlspecialchars($row['client']),
"days_on_list" => $doty, //date_added to now
);
$i = $i + 1; //add next row
}
//encoding the PHP array
$json_server_pagination_data = array(
"total" => intval($num_rows),
"rows" => $cart, //array data
);
}
echo json_encode($json_server_pagination_data);
days_on_list
days_on_list列を並べ替えると、空の表が返され、他の列のいずれかを並べ替えるとデータが返されます。私は、テーブルがjson出力内のすべてのデータにアクセスできる限り、days_on_listによるソートは他のカラムとまったく同じように動作すると考えました。 –
私は4列(days_on_listから離れています)で作業する私の分類では、SQLクエリ内にORDER BY [column here]を追加するという奇妙な状況に陥っています。しかし、days_on_listがクエリの外に存在するので、私は空のテーブルを取得しています –
WOW!出来た!とてもお友達にありがとう! –