将MySQL行计数传递给javascript
Passing MySQL row count to javascript
本文关键字:javascript MySQL 更新时间:2023-09-26
我一直在尝试找到一种方法,将MySQL行数用作Javascript中的变量。在闲逛了一段时间后,我总是得到"未定义"作为我的变量。
我对PHP和MySQL很陌生,但我对Javascript有些了解。
到目前为止,我已经尝试了以下几种:
script.js
var result = (function() {
$.get( "submissioncount.php", function( data ) {
console.log( data );
return data;
});
})();
submissioncount.php
$sql = "SELECT * FROM table";
mysql_select_db('database');
$result = mysql_query( $sql, $conn );
$num_rows = mysql_num_rows($result);
echo "$num_rows";
console.log为我提供了正确的数值,但"result"未定义。
关于如何让它发挥作用,有什么建议吗?
谢谢。
您需要在$.get内部创建一个回调,或者使用promise来设置您的变量。也可能是您从嵌套函数返回。请阅读有关延期的信息。
您在作用域方面遇到了一个问题,当您刚开始异步编程时,很难发现这个问题——默认情况下,所有AJAX调用都是这样。
当您$.get
某个东西时,jQuery会对您的服务器进行http调用,服务器会在某个时刻做出响应。由于你的浏览器不知道响应需要多长时间,它会让该呼叫在后台等待,直到服务器回复,而不是阻止网站的其他部分运行。当你的浏览器收到响应时,它可以使用从服务器获得的信息执行你提前给它的函数——回调。
您需要的代码如下所示:
function doThingsWithAjaxInfo (stuff) {
// whatever you want your code to do with the information from the server
}
(function() {
$.get( "submissioncount.php", function( data ) {
doThingsWithAjaxInfo(data);
});
})();
// the same thing but a little cleaner, your callback will automatically be called
// on the data that is returned from the server.
(function() {
$.get( "submissioncount.php", doThingsWithAjaxInfo);
})();
注意get
函数中没有返回。由于ajax请求几乎立即完成(但在服务器回复之前不会触发其回调),因此它的返回对您没有用处(除非您想使用promise,但我不建议您在更熟悉常规回调驱动的异步控制流之前使用它们。
在javascript中处理作用域是很困难的,尤其是当您使用ajax等异步技术时,但它使您的代码变得非常强大,而且值得努力将其做好。祝你好运
相关文章:
- 如何使用PHP将javascript变量添加到mysql数据库中
- onclick->mysql查询->javascript;同一页
- 在javascript中跳过周六和周日,并向mysql数据库中添加不重复的条目
- 如何使用jQueryPOST将get变量从JavaScript传递到PHP-Mysql
- 通过XHR请求将MYSQL数组从PHP返回到Javascript
- JavaScript Arrays and MySQL
- 如何使用PHP+MySQL Ajax自动完成jQuery并传递给JavaScript
- 类似按钮增量计数器不工作.PHP,AJAX,MySQL,javascript
- 如果没有从下拉列表中选择任何值,则允许使用php、mysql、javascript将文本框添加到mysql表中
- Php/javascript/mysql 每行新帖子
- JavaScript MySQL 查询功能
- Javascript+mysql "simple quote"
- 如何生成动态下拉PHP Javascript mySQL
- JavaScript + MySQL 实时更改
- 如何插入数据 PHP JavaScript MySQL 与多个数组
- javascript mysql client
- 计算节点/ JavaScript MySQL回调中的错误实例
- 自动生成的数字在任何c# / ASP.. Net / Javascript/ MySQL)
- 使用谷歌地图api与坐标从数据库javascript MySQL PHP创建线
- Javascript MYSQL下拉列表