0

これらの名前の同じまたは差異を含むデータベースに一致させたい文字列 (名前) のリストがあります。一致させたい文字列ごとにデータベースにクエリを実行できますが、データベースは名前の固定セットであるため、これは効率的ではないようです。

このマッチングを PHP 内で行うことが可能かどうか疑問に思っていました。PHPでレーベンシュタイン関数が使えるのですが、もっと効率の良いものはないかと考えていました。

私が行きたい例。左側には、データベースにこれがあるかどうか (または小さな差異があるかどうか) を確認したいすべての文字列があります。それぞれの隣に、密接に一致するオプションを含むプルダウン リストが必要です。

  • ストリング 1 – プルダウン
  • ストリング 2 – プルダウン
  • ストリング 3 – プルダウン

これに対する最善のアプローチは何ですか?提案/プルダウン メニューを取得したい文字列が 500 ~ 1000 個あります。

敬具

ラルフ

4

2 に答える 2

0

クライアント側で実行したい場合は、jQuery UI Autocomplete が必要です。ニーズに合わせて構成するのが非常に簡単であるだけでなく、すべての文字列を取得してローカル リスト (jQuery Autocomplete データ ソース) に保存する 1 つのクエリだけで構成できます。

次に、入力の onkeyup イベントを登録すると、jQuery プラグインが既存のキャッシュされたデータソースにクエリを実行します (サーバーへのプレッシャーはなくなります)。

それをチェックしてください: http://jqueryui.com/autocomplete/

于 2013-01-19T10:58:02.087 に答える
0

おそらく、MySQL の全文検索機能を見てください。DevZone でこの記事を見つけました: http://devzone.zend.com/26/using-mysql-full-text-searching/

于 2012-07-17T10:26:02.187 に答える