POST方法不起作用

时间:2014-06-26 16:06:57

标签: php jquery

我试图从jQuery获取价值,将其视为将另一个值存储到数据库中的条件。
这是我的jQuery代码:

 $('#button').click(function () {
            var s;
            $.each($('#main li.' + set.select + ' a'), function (index, value) {
                s = $(this).attr('name');                   
                alert(s); 

                $.post('random.php',
                {
                    id:s
                })              
            });

        })

我把这个s带到PHP:

$con=mysqli_connect(" ") ;


  $id=$_POST['s'] ;  

  if(substr($id,0,1)=='1'){
       $a = '24 june';
  }
  else if(substr($id,0,1)=='2'){
       $a = '25 june';
  }
  else if(substr($id,0,1)=='3'){
       $a = '26 june';
  }  
  else if(substr($id,0,1)=='4'){
       $a = '27 june';
  }
  else if(substr($id,0,1)=='5'){
       $a = '26 june';
  }
  mysqli_query($con,"UPDATE `comp1` SET `col1` ='Booked!' where Day = '$a' ");

我的表格中有一个名为' Day'的列,此列包含上述日期 我无法更新行中的数据,无论s的值是多少,name都是数字。我也尝试将toString用于name,但它没有用。

2 个答案:

答案 0 :(得分:3)

$id=$_POST['s'] ;表示您的值名称为s,但它是行为id

你也是从jQuery传递attr =NAME而不是VALUE

s = $(this).attr('name');表示您正在提取对象name="string_here"

所以例如<input type="text" name="inputforid" value="10"/>

会给你价值inputforid,你想要的是值

所以attr(&#34; value&#34;)或jquery中的.val()函数

请在此处阅读 - http://api.jquery.com/val/

答案 1 :(得分:-1)

你可以使用$ id = $ _ POST ['s'],因为你的帖子请求中的参数是id而s是值,所以试试 $ ID = $ _ POST [ 'ID']

而且s = $(this).attr('name');是具有属性'name'的元素。