如何通过PHP连接javascript和MySQL?

时间:2018-04-05 13:55:40

标签: javascript php html mysql

我正在开发一个简单的Web应用程序。我有一个存储值的MySQL数据库。当我加载我的网站时,我想运行一个php脚本,从DB中检索所述值并将其传递给javascript。然后我使用javascript来禁用按钮。

在我的index.html中:

<form action="someOtherScript.php" method="get">
    <input type="submit" name="button1" value="Run me now!">
</form>

<script>
    var value = "<?php echo $someVar; ?>";
    if(value == 0){
        document.getElementsByName("button1")[0].disabled = true;
    }
</script>

在我的getValueFromDB.php中:

<?php
    <!-- retrieve value from DB here (This part is not the problem)-->
    $someVar = 0;
?>

如何在index.html中告诉我的javascript使用哪个php脚本(我有多个)?因此,当网站加载时,我希望我的javascript从getValueFromDB.php脚本中获取结果。

非常感谢!

3 个答案:

答案 0 :(得分:1)

您可以在页面加载时使用ajax进行尝试

$( document ).ready(function() {
    $.ajax({
      url: "yourphpfile.php",
      success: function(response){
        if(result == 0)
        {
            document.getElementsByName("button1")[0].disabled = true; // instead of this maybe its better to use jquery - example below
            $('#button1').prop( "disabled", true );
        }
      }
    });
});

答案 1 :(得分:1)

尝试使用<?php include 'filepath' ; ?>包含阅读文档here,我认为这就是您需要的

<form action="someOtherScript.php" method="get">
    <input type="submit" name="button1" value="Run me now!">
</form>

<script>
<?php include 'getValueFromDB.php' ; ?>
    var value = "<?php echo $someVar; ?>";
    if(value == 0){
        document.getElementsByName("button1")[0].disabled = true;
    }
</script>

你不能告诉javascript如何使用PHP,因为JS是一种客户端语言和一种PHP服务器语言,工作流程首先是PHP和第二种JS,反之亦然。

如果您需要使用JS获取php数据,则需要使用AJAX

嗯(这是一个例子,没有经过测试)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="someOtherScript.php" method="get">
    <input type="submit" name="button1" value="Run me now!">
</form>

<script>
    $.ajax({
     url: "getValueFromDB.php",
     success: function(result){
       if(result == 0){
        document.getElementsByName("button1")[0].disabled = true;
       }
    }});
</script>

PHP

 <?php
    <!-- retrieve value from DB here (This part is not the problem)-->
    $someVar = 0;
    echo $someVar
?>

答案 2 :(得分:0)

您通常会让您的php脚本回显您想要获取的值,并从您的javascript中执行ajax调用以获取值,因此

PHP:

<?php
<!-- retrieve value from DB here (This part is not the problem)-->
$someVar = 0;
echo $someVar;
?>

和js(你可以直接把它放在html中)。

<script>
    var dbData;
    var ajax = new XMLHttpRequest();
    ajax.open("GET", "PATH_TO_PHP_SCRIPT/getValueFromDB.php", true);
    ajax.send();
    ajax.onreadystatechange = function() {
         if (ajax.readyState == 4 && ajax.status == 200) {
           var data = ajax.responseText;
           dbData=data;
           //Deal with the response
    }
</script>

或者,使用jQuery:

<script>
     var dbData;
     $.ajax({
      url: "PATH_TO_YOUR_PHP_SCRIPT/getValueFromDB.php",
      method: "GET"
      }).done(function(d) {
          dbData=d;
          //Deal with the response
      });
</script>