2017-09-13 34 views
0

我想要做一个选择查询使用JavaScript参数($ userCard)获取在同一个函数(代码下面)。但给出了一个未定义的变量错误,如何在查询中传递参数?选择查询使用JavaScript的文字

<script> 
function count() { 
    $card = "V010"; 
    $userCard = document.getElementById('visitorID'); 

    if($userCard.value.length == 4){ 

     <?php 
      $connection = connectToSql(); 
      $query = "SELECT * FROM visitorsystem.visitor WHERE cardNo = '$userCard' "; 

      $result = mysqli_query($connection,$query) 
      or die("Error in query: ". mysqli_error($connection)); 

      if(mysqli_fetch_assoc($result) >0) 
      { 
       echo "Card in Use"; 
      } 
     ?> 

     } 
} 
</script> 
+0

你希望获得价值? '$ userCard = document.getElementById('visitorID').value' - 很难猜测没有看到你的html –

回答

1

你客户端和服务器的操作混在一起。

PHP可以将变量回显为静态资产,如.html.js,因为PHP编译器在将文件发送到客户端之前从服务器运行。

一旦PHP编译和发送到客户端,回到与服务器通信的唯一方法是:

  • 做一个AJAX请求
  • 刷新页面
+0

我试图避免刷新,我可能只是做一个检查,当它提交或创建一个下拉列表并删除使用中的卡片 –

+0

好吧,但实现AJAX并不困难。可能对你有用。 –

+0

我试着理解一些教程,但我没有完全得到答案的工作原理,我是一个初学者,我基本上都在尝试一切。 –

2

如果我正确地阅读你的问题,你很想念阅读PHP和Javascript的用法。 Javascript是一种客户端语言,而PHP在服务器上执行。

要传递一个js参数传递给一个PHP页面,你必须使用你的HTML表单和PHP

使用$ _POST或$ _GET变量检索它,我建议你去检查这Difference between Javascript and PHP

+0

我正在使用这个,因为我不希望用户提交表单,如果卡已经在使用。它有点立即通知他,而不是提交表格。 –

+0

然后,您将需要使用Ajax,回发等...在不通知用户的情况下执行PHP/SQL请求。不过,我仍然强烈建议你检查我发给你的链接。 –

+1

感谢您的帮助:) –