検索のためにmysqlを照会するループがありますが、検索はクエリの終わりまでに変更されます。コーディングでわかったことは、変数を新しい検索クエリに再割り当てできない、またはとにかく正しくないということです。
エコーを追加して、それが何をしているかを確認しました。
ジョンが $preg_split に割り当てられているとしましょう
私がやろうとしているのは、たとえば J などのデータベースの最初の文字が一致する場合、文字をデータベースと一致させ、次に $pre_split から 2 番目の文字を割り当てることです。これは o であるため、$char は jo になります。
したがって、最初の変数 $char は jo で更新する必要があります
代わりに、何らかの理由で、コードを正しく記述していないと確信しているのは、それがエコーであるということです..
だから、なぜそれが最初のキャラクターではなく2番目のキャラクターなのか、少し困惑しています。
$NG_implode = implode("", $preg_split);
$NG_split = str_split($NG_implode, 1);
$i = '0';
$ia = '1';
$ib = '0';
$ic = '1';
$char = $NG_split[$ib];
foreach ($NG_split as $char)
{
$NG_select_like = "SELECT word FROM checklist_filter WHERE word LIKE '".$char."%'";
$NG_query = mysql_query($NG_select_like) or die(mysql_error());
$NG_row = mysql_fetch_row($NG_query);
$chars = str_split($char, 1);
$row = str_split($NG_row[0], 1);
if ($chars[$i] == $row[$i])
{
$char = $char.$NG_split[$ia];
$ia++;
$i++;
if ($char == $NG_row[0]){break;}
}else{$ib++; $char = $NG_split[$ib];}
}