在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文件。它只是在页面上呈现
标记时运行的。