如何使用jquery和php

时间:2015-10-21 05:43:38

标签: javascript php jquery mysql

我尝试了数字解决方案,无法弄清楚我做错了什么。

我有以下输入元素:

<input type="checkbox" data-layout="fixed" class="pull-right" value="1">

就在我的关闭身体标签之前,我有以下jquery

<script>
  $("input[type='checkbox']").on('click', function(){
  var checked = $(this).attr('checked');
     if(checked){
       var value = $(this).val();
         $.post('mysqlfunc.php', { value:value }, function(data){
              if(data == 1){
              }
         });
     }
  });
</script>

在mysqlfunc.php文件中我有

<?php
    include "../../inc/config.php";
    include "../../inc/funcs.php";
    @mysql_connect($dbhost,$dbuser,$dbpass);
    @mysql_select_db($dbname) or die( "Unable to select database");
    include "../../inc/userauth.php";

    if ($_POST && isset($_POST['value'])) {
    $value = mysql_real_escape_string($_POST['value']);
    $sql = "UPDATE members SET fixed = '".$value."' WHERE username='".$_SESSION['uid']."'";
    } else {
    }
?>

我的期望是,当我单击输入复选框时,值“1”将保存到“固定”列中的“成员”表中,其中用户名等于会话uid。

我可以回应这个uid,这样就可以了。它没有给出任何错误,所以它似乎连接到数据库。然而,检查输入文本框不会更改数据库中的值。

我根本没有js错误,我没有php错误,只是没有保存。

我做错了什么?如果可能的话,示例工作代码将非常有用。

4 个答案:

答案 0 :(得分:2)

您忘记使用Data

执行查询
mysql_query

答案 1 :(得分:2)

脚本中的这一行是错误的。

var checked = $(this).attr('checked');

将其更改为

var checked = $(this).is(':checked')

答案 2 :(得分:0)

您使用的是什么版本的jquery?并检查邮件请求是否真的完成尝试使用.prop

$("input[type='checkbox']").on('click', function(){
  var checked = $(this).prop('checked'); //<---- Here
  if(checked){ // here returned true or false
     var value = $(this).val();
     $.post('mysqlfunc.php', { value:value }, function(data){
          if(data == 1){
          }
     });
  }
});

....

$("input[type='checkbox']").on('click', function(){      
  if( this.checked ){ // <-- just checked directly
     var value = $(this).val();
     $.post('mysqlfunc.php', { value:value }, function(data){
          if(data == 1){
          }
     });
  }
});

就像@Saty说的那样,让mysql_query($sql);执行那些查询。

答案 3 :(得分:0)

你的JS代码看起来像。

   $(document).ready(function(){              
        $("input[type='checkbox']").on('click', function(){
          var checked = $(this).is(':checked');
             if(checked){
               var value = $(this).val();
                 $.post('mysqlfunc.php', { value:value }, function(data){
                      if(data == 1){
                      }
                 });
             }
          });
    });

你错过了执行SQL所以,你的PHP代码看起来就像。

<?php
include "../../inc/config.php";
include "../../inc/funcs.php";
@mysql_connect($dbhost,$dbuser,$dbpass);
@mysql_select_db($dbname) or die( "Unable to select database");
include "../../inc/userauth.php";

if ($_POST && isset($_POST['value'])) {
    $value = mysql_real_escape_string($_POST['value']);
    $sql = "UPDATE members SET fixed = '".$value."' WHERE username='".$_SESSION['uid']."'";
    mysql_query($sql);
} else {
}
?>