在PHP中将JSON传递给数组
我正在开发一个过滤器,在这个过滤器中,结果会立即被过滤,我想知道这是否是问题的原因,所以我想我会问一下,看看是否有人能给我一个如何继续的指针在PHP中将JSON传递给数组,php,mysql,json,database,Php,Mysql,Json,Database,我正在开发一个过滤器,在这个过滤器中,结果会立即被过滤,我想知道这是否是问题的原因,所以我想我会问一下,看看是否有人能给我一个如何继续的指针 <script> var services = [ <?php //Variables for connecting to your database. //These variable values come from your hosting account. $hostname = "###"; $us
<script>
var services = [
<?php
//Variables for connecting to your database.
//These variable values come from your hosting account.
$hostname = "###";
$username = "###";
$dbname = "###";
//These variable values need to be changed by you before deploying
$password = "###";
$usertable = "###";
$url = "permalink";
$title = "Address";
$amount = "rent";
$id = "id";
$status = "Beds";
$nonprofit = "Address";
//Connecting to your database
mysql_connect($hostname, $username, $password) OR DIE ("He's dead Jim");
mysql_select_db($dbname);
//Fetching from your database table.
$query = "SELECT * FROM $usertable";
$result = mysql_query($query);
if ($result) {
while($row = mysql_fetch_array($result)) {
$url = $row["$url"];
$title = $row["$title"];
$amount = $row["$amount"];
$id = $row["$id"];
$status = $row["$status"];
$nonprofit = $row["$nonprofit"];
echo '{"permalink": "';
echo "{$url}";
echo '",';
echo '"title": "';
echo "{$title}";
echo '",';
echo '"amount":';
echo "{$amount}";
echo ',';
echo '"id": "';
echo "{$id}";
echo '",';
echo '"status": "';
echo "{$status}";
echo '",';
echo '"address": "';
echo "{$address}";
echo '",';
echo '},';
}
}
?>
]
//]]>
</script>
<script id="template" type="text/html">
<a title="{{title}}" href="{{permalink}}">
<div class="fs_box hide-for-small-down">
<div class="fs_left">
<span class="fs_head">{{title}}</span>
<span class="fs_id"><img src="images/{{id}}.jpg" width="75%" height="75%" onError="this.onerror=null;this.src='images/logo.png';"></span>
<span class="fs_status">{{status}}</span>
<span class="fs_disc">{{address}}</span>
</div>
<div class="fs_price">${{amount}}+</div>
<div class="clear"></div>
</div>
</a>
</script>
var服务=[
您可以使用和将数组转换为json,并将json转换回数组
还有人可能会提到,您不应该在PHP中使用mysql_*函数,因为它们会贬值
大概是这样的:
<?php
//Variables for connecting to your database.
//These variable values come from your hosting account.
$hostname = "###";
$username = "###";
$dbname = "###";
//These variable values need to be changed by you before deploying
$password = "###";
$usertable = "###";
$url = "permalink";
$title = "Address";
$amount = "rent";
$id = "id";
$status = "Beds";
$nonprofit = "Address";
//Connecting to your database
mysql_connect($hostname, $username, $password) OR DIE ("He's dead Jim");
mysql_select_db($dbname);
//Fetching from your database table.
$query = "SELECT * FROM $usertable";
$result = mysql_query($query);
if ($result) {
$results = array()
while($row = mysql_fetch_array($result)) {
$results[] = $row;
}
$json = json_encode($results);
}
?>
]
<script>
var services = <?php echo $json; ?>;
</script>
您要保存的文件的扩展名是什么?
如果不是.php或用于呈现php的扩展集,那么您只需要将代码显示为test。
您可能希望在db connect之后拉出“die”语句。这看起来像是在一个.js文件中运行php,因此您可能希望整个文件都写出来,而不是停止,因为您无法连接到数据库(或者至少给出0个结果,可能是一个警告)为什么要添加[在php脚本之前?您可以在php中创建一个数组,使用json\u encode
将数组编码为json。@user3980820我将json放在这两者之间,或者我可以用SQL创建一个数组,然后将该数组放在[]?mysql\u query
是一个过时的接口,不应在新的应用程序中使用,并将在未来的PHP版本中删除。类似的现代替代品。如果您是PHP新手,类似的指南可以帮助您解释最佳实践。此外,您有没有理由不使用该方法来创建JSON,而不完全这样做无效版本?这无法正确转义任何内容,可能会产生大量无效的JSON输出。我将查看JSON_编码,感谢您的建议!将问题中给出的示例转换为使用内置JSON函数的版本是值得的。这样表达时会更干净,并且添加了实际工作的所有好处。我已经编辑了我的答案,使用json构建了一些json。它不是JavaScript文件。它只是在页面上呈现
标记时运行的。