如何在javascripts中使用php和mysql函数

时间:2013-02-14 10:25:18

标签: php javascript

这是我的javascript代码,它添加在我的php / html页面的标签中:

<script type="text/javascript">

    $(document).ready(function() {  

        $('#status').change(function(){

           var status = $('#status').val();                  
           var html = ''; //string variable for html code for fields 

           if( status=="closed"){

               html += '<th>Close By :</th><td align="left"><select name="close_by">'+<?php $user=mysql_query("SELECT * FROM user");
                        while($data=mysql_fetch_array($user)){?>+'<option value="'+<?php echo $data['username'] ?>+'">'+<?php echo $data['username']; ?>+'</option>'+<?php } ?>+'</select></td>'; 
            }

            $('#close_by').html(html);
        });
    }); 
</script>

代码就是这样,如果Status ==“closed”,那么将出现一个select标签,并且将使用mysql函数从数据库中获取选项值。但它不起作用。请帮助解决这个问题。

提前致谢。

3 个答案:

答案 0 :(得分:1)

你做不到。 PHP / MySQL驻留在您的服务器上,而JS则在浏览器中执行。

当然,在设置HTTP requests后,您可以让浏览器通过适当的proper routes on your server与您的服务器进行互动。

答案 1 :(得分:0)

您可以将PHP混合到Javascript中。 PHP将在服务器上执行,然后在客户端上执行JS。但这很糟糕,非常糟糕的做法,也是调试的噩梦。将它们分开并使用jQuery ajax加载数据要好得多。

或者使用PHP将数据放入javascript开头的JSON对象中,并使用Javascript处理,而不是使用PHP代码连接Javascript中的字符串。

但在你的例子中,究竟是什么问题? html变量的PHP(在HTML源代码中)的最终结果是什么?我怀疑某处有一个括号或引号错误。

答案 2 :(得分:0)

你可以用ajax

来做
$(document).ready(function() {  

  $('#status').change(function(){

       var status = $('#status').val();                  

       if( status=="closed"){
          $.ajax({
                url: 'ajax.php?',//if you have parameters
                success:function (response) {
                    $('#close_by').html(response);
                }
            });          
       }
    });
}); 

然后为ajax请求创建一个新的php文件 ajax.php

<th>Close By :</th>
<td align="left">
    <select name="close_by">
        <?php $user=mysql_query("SELECT * FROM user");
            while($data=mysql_fetch_array($user)){?>
                 <option value="<?php echo $data['username'] ?>"><?php echo $data['username']; ?>     
                 </option>
            <?php } ?>
    </select>
</td>