問題タブ [jquery-query-builder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Ajax経由でWHERE句の日付フィールドを使用したSELECTが失敗する
jquery ビルダー ( http://querybuilder.js.org/から) を使用して、ユーザーが日付を選択し、さらに PHP 関数を介して DataTables (datatables.net/ ) のデータを選択できるようにします。
DataTables と特に Ajax 関数は次のようになります。
データとして渡されるオブジェクトは、queryBuilder によって定義され、PHP スクリプトのクエリ文字列に追加されます。物事を突き止めるために、データをプレーン SQL ( http://querybuilder.js.org/plugins.html#import-export ) として渡します。私の問題のテストケースでは、これは次のとおりです。
これにより、次の SELECT クエリが生成されます。
このクエリは MySQL エラーをスローします。
明らかに、日付は正しくエスケープされません。しかし、MySQL ワークベンチにこのクエリを正確に入力すると、サーバーが実行され、正しい結果セットが返されます。さらに、ワークベンチはシングル クォーテーション (') またはダブル クォーテーション (") のどちらを使用してもかまいません。
さらに、PHP str_replace を使用してこれらのエスケープ文字を手動で削除しようとしました。関数は値を返しますが、明らかに int として解釈され、他のクエリ (等しい ID など) を壊します。同じことが msqli.real-escape-string ( http://php.net/manual/de/mysqli.real-escape-string.php )にも当てはまります。
私が試した別のアプローチは、Ajax 関数の dataType を少し変更することでしたが、基本的にはフォーム エンコードされたデータを送信しているので、これのデフォルトの型で問題ないでしょうか?
では、なぜ (のみ) 日付フィールドが間違った方法でエスケープされるのでしょうか? DBにアクセスするための独自のPHP関数を作成する前に、これに対するかなり簡単な修正はありますか?
javascript - 列によるJqueryクエリビルダーグループ
Jquery Query Builderを使用しています。AddRule と AddGroup 関数があり、「Groupby」という名前のクエリの最後と呼ばれる機能をもう 1 つ追加したいと考えています。次に、同じフィールド名がJsonでアクセスできるミューティーフィールドを選択できるはずです。
例http://querybuilder.js.org/demo.html もう 1 つボタンを追加したいと思います。クリックすると、グループ化のフィールドを選択するために 1 つの moew 行が下部に入力されます。注 : クエリのグループではなく、SQL グループ化のフィールドを選択する場所
jquery - jQuery Query Builder を使用して式を個別に評価する
私は学生の成績を評価するシステムを持っています。JSON オブジェクトで動的に評価基準を定義できるはずです。たとえば、次の場合、学生は Java プログラミング モジュールに合格します。
条件はモジュールごとに異なるため、各モジュールには評価基準を記述する json オブジェクトがあります。これを行うためにJquery QueryBuilderを使用することを考えました。UI を使用して式を作成し、JSON として保存できます。モジュールの学生のマーク リストは、次のような JSON オブジェクトにあります。
jQuery QueryBuilder によって生成された JSON を使用して、この学生が合格基準を満たしているかどうかを確認するにはどうすればよいですか?
各条件の合否判定基準を個別に表示したい。上記の場合の例:
- courseWorkMarks 結果 - PASS
- inClassTest の結果 - 不合格
- 試験成績 - 合格
- 総合結果 - 合格
JSON パスで実行できますが、jQuery QueryBuilder のような優れたグラフィカル クエリ ビルダーがありません。私が抱えている主な問題は、jQuery QueryBuilder によって生成された JSON 出力を使用して、所有しているデータを評価する方法を理解していないことです。jQuery QueryBuilder で私がやりたいことをすることは可能ですか? これを行うための他の JavaScript ツールはありますか?