0

例えば

1 つのカテゴリに 1000 個の製品があるとします。そして、これらの製品をフィルタリングしたいと思います。

json を使用して製品をフィルタリングします。DB に対して個別のクエリを実行する必要があるたびに。

製品テーブルをプリロードして表示できるかどうかを知っている人がいるかどうか疑問に思っていました. プリロード バーの例: 検索の初期化 (0 - 100%)

そのため、システム全体がロード時に 1 回だけ初期化されるため、検索結果がすぐに得られることを願っています。

残念ながら、顧客のサーバーを微調整することは私たちにとって実際にはオプションではないため、ここの誰かがより良い提案をしてくれることを願っています

前もって感謝します!

4

2 に答える 2

0

1000個のデータセットはクエリを実行するのにそれほど多くはありませんが、クライアント側を格納するのにかなりの量です。しかし..あなたの質問に答えるために:

Javscriptはオブジェクトの配列を作成できます。まあ言ってみれば

<script type="text/javascript">
var products = new Array()
products[0] = {name:'First', price:29.99};
products[1] = {name:'Second', price:29.99};
products[2] = {name:'Third', price:29.99};
</script>

...phpを介してこれらを作成します。また、{...}の代わりに、関数product(name、price)を作成してから呼び出すことができますproducts[0] = new product("first", 29.99);

これを設定すると、すべての情報がクライアントブラウザに保存されます。これで、javascriptのみを介して検索/フィルターを使用できるようになりました。バーの読み込みは、jquery-uiを使用して適切に実行できます。検索には配列ループが含まれます。事前に分離できる複数のカテゴリがある場合は、すべてを製品配列に格納する代わりに、異なる配列を作成するだけで済みます。

幸運を!

于 2010-08-19T19:28:31.257 に答える
0

PHP 側では、レコードをmemcacheバケットのようなものにプリロードできます。

しかし、問題がデータベース クエリにあるとは思えません。json リクエストが非常に時間がかかる可能性が高いです。

すべての値をプリロードする (つまり、1 つの大きなリクエストで取得する) ことは確かに可能です。システムに関する詳細は何も提供していませんが、おそらく単純に大きな json リクエストになるでしょう。

Ajax リクエストのプログレス バーを実装する簡単な方法がわかりません。たぶん、単純な「ロード」アニメーションでもうまくいくでしょう。

ページ間でデータを永続化するには、おそらく何らかのローカル ストレージを使用して意味を持たせる必要があります。それについては、この質問を参照してください。

于 2010-07-07T21:33:04.110 に答える