私は1,50,000以上のエントリのデータベースを持っています。それは州名、地区名、オフィス名などのような列を持っています。今度は、州名、地区名、オフィス名で各行のPHP Soundex
でデータベース全体を更新します。 各行には、state_soundex、office_name_soundex、およびdistrict_soundexの列があります。 私はこのようにデータベース全体を更新するPHPスクリプトを実行したいと思います。 状態名をとり、soundex('state_name')
を適用してstate_soundex列に入れ、同じものが地区名とオフィス名になります。 これは私がこれまでに動作しない持っているものである -私はいくつかの特定のパラメータに基づいてMySQLデータベースの列を更新するためにPHPスクリプトを実行できますか?
// database connection working alright
$query = "SELECT office_name, state, district FROM pincodes";
$result = mysqli_query($mysql, $query);
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$state_name = $row['state'];
$soundex = soundex($state_name);
$q = "UPDATE pincodes SET state_soundex = '$soundex' WHERE state = '$state_name'";
$r = mysqli_query($mysql, $q);
}
しかし、それは更新していません。助けてください。私はそれをする方法を理解することができません。 スクリプトを一度実行して完全に更新するだけで済みます。それでおしまい。
ありがとうございます。
あなたはおそらく私が達成したい何@RamRaider 1つのSQL文、 'UPDATEのPINコードのは、SETのstate_soundex = SOUNDEX(状態)' – RamRaider
事務所名のユーザーの検索の場合には、それを間違えていることであることを行うことができますmysqlの何も返さない。だから私はそれのためのsoundexを格納し、オフィス名とsoundex_office_nameとの一致のユーザー入力を取るしたい。私の地域のように、オフィス名として「Bohru」を使用する人もいれば、「Baharu」を使用する人もいます。データベースには値として「baharu」があります。しかし、両方とも同じサウンドデックスを持っています。だから、soundexとのマッチングは結果をユーザのタイプ "bohru"に与えます。 それは良いアイデアだと思いますか、他のapprocahを取るべきですか? ありがとうございます。 –
'like'とおそらく'おそらく 'levenshtein'と一緒に' soundex'を使うのが助かります - 検索ボックスの入力フィールドに 'datalist'を使用する場合、ユーザが選択できるKnown事務所のリストより良い/より信頼性の高い – RamRaider