タブまたはメニュー項目を選択して再ソートするテーブルがあります。AngularJSのフィルタで特定のテーブルを更新する
コンテキスト: テーブルにはSQL DB内のすべての「注文」が表示され、特定のエリアのタブをクリックすると、そのエリアの注文のみでテーブルが更新されます。
IF文をどういうわけか、またはwhileループを角度にすることはできますか?
現在、私はすでにフィルタリングしようとしていますが、これはphpのようなデータを取得します。
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
echo json_encode($data);
// creates a connection to the mysql server
require('connection.php');
$filterGeo = $filterSta = $filterNH = $filterNot = '%';
if (isset($_GET['filterGeo'])) {$filterGeo = $_GET['filterGeo'];};
if (isset($_GET['filterSta'])) {$filterSta = $_GET['filterSta'];};
if (isset($_GET['filterNH'])) {$filterNH = $_GET['filterNH'];};
if (isset($_GET['filterNot'])) {$filterNot = $_GET['filterNot'];};
$result = $conn->query("SELECT * FROM orders
Where address LIKE '%$filterGeo%' AND status LIKE '%$filterSta%'");
$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "") {$outp .= ",";}
$outp .= '{"orderID":"' . $rs["orderID"] . '",';
$outp .= '"customerID":"' . $rs["customerID"] . '",';
$outp .= '"date":"' . $rs["date"] . '",';
$outp .= '"address":"'. $rs["address"] . '",';
$outp .= '"area":"'. $rs["area"] . '"}';
}
$outp ='{"orders":['.$outp.']}';
$outp = utf8_encode($outp);
$conn->close();
echo($outp);
//?>
JSONはこのような角度で処理されます。
<div ng-repeat="x in orders | filter:{area:'MyArea'}">
...
https://docs.angularjs.org/api/ng/filter/filter
はあなたにもHTML部分を追加することはできますか? –
これを今追加しました:) – NicklasN
コントローラの起動時にフィルタリングせずにすべてのデータを取得し、 'li'要素のどれかをクリックすると適切にフィルタを追加したいと思います。 –