将num_rows从php返回到javascript

时间:2011-02-07 11:37:51

标签: php javascript mysql

我正在使用某些第三方软件,并希望添加以下功能:

在表单中,员工可以捕获联系人数据。在将这个表单传递给php进行数据库写入之前,这个表单正在由JavaScript检查。 Javascript会执行一些基本检查,例如'名字不空'。 我想添加一个检查,以查看数据库中是否已存在某人而没有在mySQL中将相应字段设置为唯一。

这是其他检查的语法:

if (!RequiredField(frm.add_fd15.value)) {
nIndex++;
szAlert += "- " +"'Email Address' cannot be blank\n";
}

现在我希望从javascript调用基本上从数据库查询

检查的PHP段
SELECT count(*) FROM contacts WHERE firstname='$firstname' and lastname='$lastname'

然后需要将此查询的返回值传递回JavaScript。

我将如何实现这一目标?

3 个答案:

答案 0 :(得分:3)

<?php $num_rows = $result->num_rows; ?>

<script type="text/javascript"> 
var num_rows = <?php echo (is_int($num_rows)) ? $num_rows : 0; ?>; 
</script>

答案 1 :(得分:1)

看看这篇文章

http://web.enavu.com/tutorials/checking-username-availability-with-ajax-using-jquery/

在本文中,我们将使用jQuery创建一个ajax用户名可用性检查器。

在查询运行后循环访问php,发送ajax响应0或1

# //if number of rows fields is bigger them 0 that means it's NOT available '  
# if(mysql_num_rows($result)>0){  
#     //and we send 0 to the ajax request  
#     echo 0;  
# }else{  
#     //else if it's not bigger then 0, then it's available '  
#     //and we send 1 to the ajax request  
#     echo 1;  
# } 

答案 2 :(得分:1)

您需要向服务器发出AJAX请求,等待服务器回复,然后允许进一步验证或通知用户该行已存在。因此,您需要停止提交表单,直到您收到服务器的响应,并在验证成功时通过JavaScript提交表单。

您可以自己决定服务器响应的格式,只需使用您能够解析为JavaScript值/对象的内容,无论是文本,JSON还是XML都取决于您。