在Javascript和JSON中使用数据库中的数据
我想用Javascript显示我数据库中的一些数据。 以下是我的PHP脚本:在Javascript和JSON中使用数据库中的数据,javascript,php,json,Javascript,Php,Json,我想用Javascript显示我数据库中的一些数据。 以下是我的PHP脚本: $arrayDatabase = array(); $statement = $link->prepare("SELECT project.ID, project.titel, project.subtitel, project.plaatje, project.beschrijving, project.link FROM project" ); $statement->execute(); $stat
$arrayDatabase = array();
$statement = $link->prepare("SELECT project.ID, project.titel, project.subtitel, project.plaatje, project.beschrijving, project.link FROM project" );
$statement->execute();
$statement->bind_result($ID, $titel, $subtitel, $plaatje, $beschrijving, $site);
while($statement->fetch()){
echo '
<div class="singleProject" id="'.$ID.'">
<img src="'.$plaatje.'" alt="'.$titel.'" />
<div>
<h2>'.$titel.'</h2>
<div><p>'.$subtitel.'</p></div>
</div>
</div>
';
$arrayRij= array($ID, $beschrijving, $site);
array_push($arrayDatabase, $arrayRij);
}
$statement->close();
我的脚本可以正常工作。尽管我也认为您应该采用AJAX方式(或者使用php进行任何尝试并输出最终html而不是使用js),但您可以通过以下方式解决当前的问题: json_encode返回一个字符串而不是javascript对象,因此需要在js中解析该字符串以获得真实对象:
var jsArray = JSON.parse("<? echo json_encode($arrayDatabase); ?>");
var jsArray=JSON.parse(“”);
请注意,您可能需要使用JSON polyfill,以便在旧ie版本中使用它。您可能还需要在json_encode返回的字符串中转义引号。您可以像这样从php到javascript获取json数据/对象
$arr = json_encode($arrayDatabase);
echo <<<END
<script type="text/javascript">
var jsArray = $arr;
</script>
END;
$arr=json\u encode($arrayDatabase);
echo尝试在单独的脚本中测试javascript,并使用ajax调用获取json。请提供比“它不会工作”更好的问题描述。给我们一些有用的信息。json_encode
确实返回一个sting,但它直接注入到JS源代码中,因此它将被解释为JS数组或对象文本。不需要JSON.parse
.true。有一段时间,我想我可能会导致键中有空格的问题,但事实并非如此。
var jsArray = JSON.parse("<? echo json_encode($arrayDatabase); ?>");
$arr = json_encode($arrayDatabase);
echo <<<END
<script type="text/javascript">
var jsArray = $arr;
</script>
END;