Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数据从mysqli传递到javascript_Javascript_Php_Arrays_Json_Mysqli - Fatal编程技术网

将数据从mysqli传递到javascript

将数据从mysqli传递到javascript,javascript,php,arrays,json,mysqli,Javascript,Php,Arrays,Json,Mysqli,我想把查询结果传递给javascript(我想做一个关于鱼类的交互式测验)。使用json_encode似乎很容易,但我的php数组的结构使访问变得困难?即使console.log也无法工作,因此可能存在错误,尽管我检查这段代码的次数比我想承认的要多。不过,我很确定错误在小javascript部分。代码(全部在.php文件中): 无标题 var-ars=; 控制台日志(ars); 警报(ars[0][0]); 欢迎提供任何建议或易于理解的链接/教程! 我试过:这似乎解释得很清楚,但帮不了我。我

我想把查询结果传递给javascript(我想做一个关于鱼类的交互式测验)。使用json_encode似乎很容易,但我的php数组的结构使访问变得困难?即使
console.log
也无法工作,因此可能存在错误,尽管我检查这段代码的次数比我想承认的要多。不过,我很确定错误在小javascript部分。代码(全部在.php文件中):


无标题
var-ars=;
控制台日志(ars);
警报(ars[0][0]);
欢迎提供任何建议或易于理解的链接/教程! 我试过:这似乎解释得很清楚,但帮不了我。我还试图简化php数组的结构,但没有成功。 我尝试将
echo-json\u-encode($rows)
更改为
print(json\u-encode($rows))
。 正如你可能已经注意到的,我对这方面还不熟悉,所以所有的基本技巧都会有很大的帮助。
谢谢大家!

更好的解决方案是通过post/get请求将javascript与PHP分离,方法是创建一个新的PHP页面(例如Query.PHP),该页面专门用于数据库响应:

... MYSQL CODE ...
echo json_encode($rows); // Echo everything into body
并使用jQuery(或等效的Ajax请求):

注意,这段代码本质上是异步的,因为MYSQL查询的请求是使用异步JavaScript在另一个页面中发送的。此外,您还可以使用$\u POST和$\u GET自定义查询响应:

PHP代码:

$get1 = $_GET['js_sent'];
// Alternatively
$post1 = $_POST['js_sent'];
编辑:发送前需要序列化数据。 有关完整的jQuery解决方案,请参阅此处

//使用从checkproduct.php返回的数据。从checkemail.php返回的值作为数据检索

}))


上面的代码post方法将变量post到checkproduct.php这里我们传递的是useremail,值是emailVal,这也是一个变量。在checkproduct.php中,您需要回显/返回结果。结果数据可以作为数据在函数中使用

谢谢,将javascript与PHP分离使其工作,也使编码更加清晰。
$.ajax({
  type: "GET",
  url: 'query.php',
  dataType: "json",
  success: function(your_php_reponse_as_json){
      console.log(your_php_reponse_as_json);
  }
});
$get1 = $_GET['js_sent'];
// Alternatively
$post1 = $_POST['js_sent'];
 $.post("checkproduct.php", {"useremail" : emailVal}, function(data) {