テキスト ファイルの内容を読み取るオートフィル検索があります (このテキスト ファイルは正しい形式でフォーマットされていないと、検索が機能しません)。ファイルの最初と最後に角かっこが必要なので、今はかなり長い方法でそれをやっています。
データベースからデータを取得する PHP スクリプト:
$getData = mysql_query("SELECT Name FROM tblIngredient");
while($info = mysql_fetch_array($getData))
{
$string = '{"key": "'.$info['Name'].'", "value": "'.$info['Name'].'"}, ';
$fp = fopen('data_old.txt', 'a');
fwrite($fp, $string);
fclose($fp);
}
data_old.txt を開き、先頭に「[」、末尾に「]」を付けて書き込み、data.txt として保存する 2 番目の php スクリプト:
$string1 = '[' . file_get_contents('data_old.txt') . ']';
$fp = fopen('data.txt', 'a');
fwrite($fp, $string1);
fclose($fp);
これにより、データが次の形式で保存されます: (ファイルの開始)
[{"key": "vodka", "value": "vodka"}, {"key": "tequila", "value": "tequila"}, {
(ファイルの終わり)
{"key": "brandy", "value": "brandy"}, {"key": "beer", "value": "beer"}, ]
私の問題は、ファイルの最後にコンマとスペースがあることです: }, ] そして、次のようにする必要があります: }]
私はグーグルでこれを試してみましたが無駄でした
(data.txt ファイルの最後の 2 文字を切り捨てて再度書き込むコードが必要です)
どんな助けでも大歓迎です
-マット
edit2::
スクリプト 1:
$getData = mysql_query("SELECT Name FROM tblIndredient");
while($info = mysql_fetch_array($getData))
{
$string = ', {"key": "'.$info['Name'].'", "value": "'.$info['Name'].'"}';
$fp = fopen('data.txt', 'a');
fwrite($fp, $string);
fclose($fp);
}
$content = file_get_contents('data.txt');
$content = '[' . ltrim('[, ', $content);
file_put_contents('data.txt');
スクリプト 2:
$string1 = '['. file_get_contents('data.txt') .']';
$fp = fopen('data.txt', 'a');
fwrite($fp, $string1);
fclose($fp);