检查$ _POST ['']中是否存在值相同

时间:2013-06-25 07:49:00

标签: php jquery

我正在研究Ajax.i有多个选择框现在我想要一次又一次地回忆同一页但问题是我们有很多sql查询。如果条件我根据我的需要选择查询。现在我要检查喜欢if($ _POST ['field']包含州或地区); ajax部分: -

$('#country').change(function()
        {
            var id=$("#country").val();
            var dataString = 'id='+ id;

            $.ajax
            ({
                type: "POST",
                url: "ajax_centre.php",
                data: {state:dataString,field:'state'},
                cache: false,
                success: function(html)
                {
                $("#state").html(html);
                } 
            });
        });
        $('#state').change(function()
        {
            var state_id=$('#state').val();
            var country_id=$('#country').val();
            var dataString = 'state_id='+ state_id;
            var country_id = 'country_id='+ country_id;


            $.ajax
            ({
                type: "POST",
                url: "ajax_centre.php",
                data: {country:country_id,state:dataString,field:'region'},
                cache: false,
                success: function(html)
                {
                $("#region").html(html);
                } 
            });

        }); 

在上部我传递字段:州和字段:区域现在我想代表那个选择我 //ajax_centre.php: -

if($_POST['field']='state')
{
   //execute query

}

if($_POST['field']='region')
{
    //execute query
}

这是可能的我知道isset()但我必须区分彼此

我终于发现传递post值正确的脚本时存在bug问题: -

$('#country').change(function()
        {
            var id=$("#country").val();
            //var dataString = 'id='+ id;

            $.ajax
            ({
                type: "POST",
                url: "ajax_centre.php",
                data: {id:id,field:'state'},
                cache: false,
                success: function(html)
                {
                $("#state").html(html);
                } 
            });
        });
        $('#state').change(function()
        {
            var state_id=$('#state').val();
            var country_id=$('#country').val();
            //var dataString = 'state_id='+ state_id;
            //var country_id = 'country_id='+ country_id;


            $.ajax
            ({
                type: "POST",
                url: "ajax_centre.php",
                data: {con_id:country_id,sta_id:state_id,field:'region'},
                cache: false,
                success: function(html)
                {
                $("#region").html(html);
                } 
            });

        }); 

一个人认为我的两个操作员都在我的情况下工作“==”和“===”。

4 个答案:

答案 0 :(得分:2)

您应该检查[{1}}运算符的[strict]相等性:

===

使用if($_POST['field'] === 'state') { //execute query } else if($_POST['field'] === 'region') { //execute query } 控制块,您确定只执行代码的一部分。

顺便提一下,请注意单个if/else运算符是赋值,而不是比较。

答案 1 :(得分:2)

您必须使用==代替==是赋值运算符而不是比较运算符。您可以选择使用===进行严格比较。

答案 2 :(得分:1)

更改: -

if($_POST['field']='state')
{
   //execute query

}

if($_POST['field']='region')
{
    //execute query
}

if($_POST['field']== 'state')
{
   //execute query

}

if($_POST['field']== 'region')
{
    //execute query
}

答案 3 :(得分:0)

喜欢这个

if($_POST['field']==='state')
{
 //execute query

}
 else if($_POST['field']==='region')
{
//execute query
 }
else{
  //execute this
 }

这个

"  === "

用于比较变量与身份

如果我们比较

"5"===5 returns false
 "5"==="5" returns true