(这个问题是继我以前的问题,也就是修正了(在这里)之后的问题。)
我发现了一个与这个(在这里)类似的问题,但解决方案并不完全是我想要的。
目前,我的网站上有一个JQuery样式的自动完成搜索引擎,名为(fcbkcomplete完整)。脚本的原始操作从一个.txt文件中运行,查找手动输入的值并在自动完成结果中输出它们。但是,我希望脚本从MYSQL数据库中获取值,而不是手动输入到.txt文件中,因为我最终希望用户可以选择添加自己的值。
因此,我将Javascript调用为.php文件,而不是.txt,其中包含以下脚本:
//connection details
$getData = mysql_query("SELECT Name FROM tblIngredient");
while($info = mysql_fetch_array($getData))
{
echo "{\"key: value:\";
echo $info['Name'];
echo "key: value:\"";
echo $info['Name'];
echo "}, ";
}此脚本以正确的格式工作并输出数据:
{"key": "vodka","value": "vodka"}, {"key": "tequila","value": "tequila"},,因此我需要知道如何将这个JSON输出转换为data.txt (因此随着数据库表的增长,.txt文件在运行脚本时会自动更新)
这是在我的网站上搜索的最后一步,所以任何帮助都是非常感谢的。
-Matt
发布于 2012-04-18 15:13:36
我不知道要将哪些数据保存到这个txt文件中,但我假设如下所示:
{"key": "vodka","value": "vodka"}, {"key": "tequila","value": "tequila"},如果不是,你可以用它来代替你想要的。
我认为您要寻找的函数是fopen(),特别使用'a‘作为第二个参数。
从手册中:
'a'仅用于写入;将文件指针放置在文件的末尾。如果文件不存在,请尝试创建它。
下面是一个如何使用它的例子(非常简短的例子)。
$string = '{"key": "vodka","value": "vodka"}, {"key": "tequila","value": "tequila"}';
$fp = fopen('somefile.txt', 'a');
fwrite($fp, $string);
fclose($fp);这里需要考虑的一件事情是,文件需要适当的权限才能进行写访问。
发布于 2012-04-18 15:12:29
与其将自动完成指向data.txt,不如直接将其指向您的PHP页面?
$("element").fcbkcomplete({
...
json_url: "fetched.php",
...
});发布于 2012-04-18 15:17:44
您可以使用开始 & 目录的组合,然后将文本文件与目录放在一起
<?php
$getData = mysql_query("SELECT Name FROM tblIngredient");
ob_start();
while($info = mysql_fetch_array($getData))
{
echo "{\"key: value:\"";
echo $info['Name'];
echo "key: value:\"";
echo $info['Name'];
echo "}, ";
}
$return = ob_get_contents();
ob_end_clean();
file_put_contents('./data.txt',$return);
?>如果它是有效的json,则在数组上使用编码,编码。
<?php
$getData = mysql_query("SELECT Name FROM tblIngredient");
while($info = mysql_fetch_array($getData)){
$result[]=$info['Name'];
}
file_put_contents('./data.txt',json_encode($result));
?>https://stackoverflow.com/questions/10212246
复制相似问题