在URL发布多个变量和复选框工作多个、变量、复选框、工作

由网友(基霸)分享简介:这是基于以下示例:http://www.w3schools.com/php/php_ajax_database.asp 的差异主要是我使用复选框代替选择并在那里我会希望能够选择在多个复选框形式的多个项目:下面是两个问题我有:我希望能够张贴多变量的网址,因为像现在只有一个变量可以被发布出来,我得到的不是选择一个错误。...

这是基于以下示例:

http://www.w3schools.com/php/php_ajax_database.asp

的差异主要是我使用复选框代替选择并在那里我会希望能够选择在多个复选框形式的多个项目:

下面是两个问题我有:

我希望能够张贴多变量的网址,因为像现在只有一个变量可以被发布出来,我得到的不是选择一个错误。 我希望能够一次选择多个复选框。在当前状态下,您可以选择多个复选框,但结果只是调整的最后一个复选框。举例来说,如果复选框2 + 3只检查3将显示,当我想2和3的结果。

下面是HTML部分:

 < HTML>
    < HEAD>
        &所述;脚本的src =htt​​p://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js>&所述; /脚本>
        <脚本>
            功能showUser(){
                VAR selectedPerson = $('#TESTFORM')序列化()。
                                                    的document.getElementById(txtHint)的innerHTML =< D​​IV CLASS ='搬入指示'>< IMG SRC ='AJAX-loader.gif/>&安培; NBSP;请稍候...加载新课程...< / DIV>中;


                $阿贾克斯({
                    网址:getuser.php,
                    类型:'后',
                    数据:selectedPerson,
                    成功:函数(RES){
                        $('#txtHint)HTML(RES)。
                    }
                })
            }
        < / SCRIPT>

        <脚本>
            传播showUser2(){
                VAR selectedPerson = $('#testform2')序列化()。
                                                    的document.getElementById(txtHint)的innerHTML =< D​​IV CLASS ='搬入指示'>< IMG SRC ='AJAX-loader.gif/>&安培; NBSP;请稍候...加载新课程...< / DIV>中;


                $阿贾克斯({
                    网址:getuser.php,
                    类型:'后',
                    数据:selectedPerson,
                    成功:函数(RES){
                        $('#txtHint)HTML(RES)。
                    }
                })
            }
        < / SCRIPT>
    < /头>
    <身体GT;

        <形式ID =TESTFORM>
            &其中;输入的onchange =showUser(); NAME =人[]类型=复选框值=1>一个实施; BR>
            &其中;输入的onchange =showUser(); NAME =人[]类型=复选框值=2>二< BR>
            &其中;输入的onchange =showUser(); NAME =人[]类型=复选框值=3>三< BR>
            &其中;输入的onchange =showUser(); NAME =人[]类型=复选框值=4>四< BR>
            &其中;输入的onchange =showUser(); NAME =人[]类型=复选框值=5>五< BR>
        < /形式GT;

        <形式ID =testform2>
            &其中;输入的onchange =showUser2(); NAME =PERSON2 []类型=复选框值=沟通>通信< BR>
            &其中;输入的onchange =showUser2(); NAME =PERSON2 []类型=复选框值=生意>商务及LT; BR>
            &其中;输入的onchange =showUser2(); NAME =PERSON2 []类型=复选框值=HTML和CSS>三< BR>
            &其中;输入的onchange =showUser2(); NAME =PERSON2 []类型=复选框值=SQL>四< BR>
            &其中;输入的onchange =showUser2(); NAME =PERSON2 []类型=复选框值=窗口>五< BR>
                      &其中;输入的onchange =showUser2(); NAME =PERSON2 []类型=复选框值=云>云< BR>
            &其中;输入的onchange =showUser2(); NAME =PERSON2 []类型=复选框值=微软Office>的Java< BR>

        < /形式GT;

        < BR>
        < D​​IV ID =txtHint>< B>个人信息将在这里列出...< / B>< / DIV>

    < /身体GT;
< / HTML>
 
Jenkins 2 创建流水线

下面是PHP的一部分:

 <!DOCTYPE HTML>
< HTML>
< HEAD>
<风格>
表 {
    宽度:100%;
    边境崩溃:崩溃;
}

表,TD,日{
    边界:1px的纯黑色;
    填充:5px的;
}

日的{text-align:left进行;}
< /风格>
< /头>
<身体GT;

< PHP
 $人='';
        $人=使用isset($ _ POST ['人'])? $ _ POST ['人']:'';
        $ allIds ='';
        如果($的人!=''){
            的foreach($某人为$ PERSONID){
                $ allIds = $ PERSONID','。。;
            }
            $ PERSONID = RTRIM($ allIds,,);
        }


 $ PERSON2 ='';
        $ PERSON2 =使用isset($ _ POST ['PERSON2'])? $ _ POST ['PERSON2']:'';
        $ allIds ='';
        如果($ PERSON2!=''){
            的foreach($ PERSON2为$ personid2){
                $ allIds = $ personid2','。。;
            }
            $ personid2 = RTRIM($ allIds,,);
        }


包括(包括/ db.php中);



全球$ CON;


$ SQL =SELECT * FROM课程WHERE(course_duration IN('$ PERSONID。))或(course_duration IN('$ personid2。'))LIMIT 10;
$结果= mysqli_query($ CON,$ SQL);
$ SQLCOUNT =SELECT * FROM课程WHERE(course_duration IN('。$ PERSONID。))或(course_subc1 IN('。$ personid2。))或(course_subc3 IN('。$ personid2。 '))OR(course_subc1 IN(''))OR(course_subc4 IN(''))OR(course_subc5 IN('')),$ personid2。,$ personid2。,$ personid2。;
$ get_crs_count = mysqli_query($ CON,$ SQLCOUNT);
$ COUNT_ROWS = mysqli_num_rows($ get_crs_count);
回声'< p风格=保证金底:8像素;保证金顶:8像素;字体大小:18像素;>< B>将现有课程的数量:其中; / B> 。 $ COUNT_ROWS;
而($ row_crs = mysqli_fetch_array($结果)){

    $ crs_id = $ row_crs ['COURSE_ID'];
        $ crs_cat = $ row_crs ['course_cat'];

    $ crs_provider = $ row_crs ['course_provider'];

    $ crs_title = $ row_crs ['course_title'];
        $ crs_price = $ row_crs ['course_price'];
          $ crs_city = $ row_crs ['course_city'];
                      $ crs_category = $ row_crs ['course_cat1'];

          $ crs_date = $ row_crs ['course_date1'];


$ crs_sdesc = $ row_crs ['course_sdesc'];
$ crs_shortdesc = mb_strimwidth($ crs_sdesc,0140,......);
        $ crs_image = $ row_crs ['course_image'];
        $ provider_image = $ row_crs ['provider_image'];


  回声<物品类=搜索,结果行'><中心>
      < D​​IV CLASS ='COL-XS-12 COL-SM-12 COL-MD-3'ID ='thumbnailContainer'>
        < A HREF =#标题=Lorem存有级=缩略图ID =resultThumbnail'>< IMG SRC ='$ provider_image/>< / A>
     < A HREF ='searchPage.php crs_price = $ crs_price?风格=颜色:黑色;> <按钮的ID ='resultprice'><跨度ID ='resultpriceText'> $ $ crs_price< / SPAN>< /按钮>< / A>
      < / DIV>
      < D​​IV CLASS ='COL-XS-12 COL-SM-12 COL-MD-2'>
        < UL类=元搜索ID =listDesign'>
        < A HREF ='searchPage.php crs_date = $ crs_date?风格=颜色:白色;'> <李><按钮的ID ='resultInfo'><我类=发发日历FA-1X'><跨度ID ='iconText'> $ crs_date< / SPAN>< / I>< /按钮>< /李>< / A>
         < A HREF ='searchPage.php crs_category = $ crs_category?风格=颜色:白色;'> <李><按钮的ID ='resultInfo2'><我类=发发发,标签FA-1X'><跨度ID ='iconText'> $ crs_category< / SPAN>< / I>< /按钮>< /李>< / A>
< A HREF ='searchPage.php crs_provider = $ crs_provider?风格=颜色:白色;'><李><按钮的ID ='resultInfo'><我类=发发,graduation-盖FA-1X'><跨度ID ='iconText'> $ crs_provider< / SPAN>< / I>< /按钮>< /李>< / A>
< A HREF =?searchPage.php城市= $ crs_city风格=颜色:白色;'><李><按钮的ID ='resultInfo'><我类=发发-MAP-标志FA-1X'><跨度ID ='iconText'> $ crs_city< / SPAN>< / I>< /按钮>< /李>< / A>
        < / UL>
      < / DIV>< /中心>
      < D​​IV CLASS ='COL-XS-12 COL-SM-12 COL-MD-7 excerpet'>
        &所述; H3的id ='resultHeading'>&所述; A HREF ='coursePage.php crs_id = $ crs_id?'身份证='headingLinking'>&其中b取代; $ crs_title&所述; / B个;&所述; / a取代;&其中; / H3>

        < D​​IV ID ='courseshortDescription'>
$ crs_shortdesc
 <中心>< A HREF ='coursePage.php crs_id = $ crs_id?风格=颜色:白色;'><按钮类='BTN BTN-危险的ID ='findoutBtn'>了解更多&LT ; /按钮>< / A> < /中心>
        < / DIV>

< / DIV>

      <跨度类=clearfix博尔达'>< / SPAN>
    < /条>中;
}

mysqli_close($ CON);
?>
< /身体GT;
< / HTML>
 

更新:

 < HTML>
    < HEAD>
        &所述;脚本的src =htt​​p://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js>&所述; /脚本>
        <脚本>
            功能showUser(){
VAR selectedPeople = {人:[]};
$('输入[名称=人]:选中)每个(函数(){。
    selectedPeople.person.push($(本).VAL());
});的document.getElementById(txtHint)的innerHTML =< D​​IV CLASS ='搬入指示'>< IMG SRC ='AJAX-loader.gif/>&安培; NBSP;请稍候...加载新课程...< / DIV>中;


                $阿贾克斯({
                    网址:getuser.php,
                    类型:'后',
                    数据:selectedPerson,
                    成功:函数(RES){
                        $('#txtHint)HTML(RES)。
                    }
                })
            }
        < / SCRIPT>

        <脚本>
            传播showUser2(){
变种selectedPeople = {PERSON2:[]};
$('输入[名称=PERSON2]:选中)每个(函数(){。
    selectedPeople.person2.push($(本).VAL());
});的document.getElementById(txtHint)的innerHTML =< D​​IV CLASS ='搬入指示'>< IMG SRC ='AJAX-loader.gif/>&安培; NBSP;请稍候...加载新课程...< / DIV>中;


                $阿贾克斯({
                    网址:getuser.php,
                    类型:'后',
                    数据:selectedPerson,
                    成功:函数(RES){
                        $('#txtHint)HTML(RES)。
                    }
                })
            }
        < / SCRIPT>
    < /头>
    <身体GT;

        <形式ID =TESTFORM>
            &其中;输入的onchange =showUser(); NAME =人[]类型=复选框值=1>一个实施; BR>
            &其中;输入的onchange =showUser(); NAME =人[]类型=复选框值=2>二< BR>
            &其中;输入的onchange =showUser(); NAME =人[]类型=复选框值=3>三< BR>
            &其中;输入的onchange =showUser(); NAME =人[]类型=复选框值=4>四< BR>
            &其中;输入的onchange =showUser(); NAME =人[]类型=复选框值=5>五< BR>
        < /形式GT;

        <形式ID =testform2>
            &其中;输入的onchange =showUser2(); NAME =PERSON2 []类型=复选框值=沟通>通信< BR>
            &其中;输入的onchange =showUser2(); NAME =PERSON2 []类型=复选框值=生意>商务及LT; BR>
            &其中;输入的onchange =showUser2(); NAME =PERSON2 []类型=复选框值=HTML和CSS>三< BR>
            &其中;输入的onchange =showUser2(); NAME =PERSON2 []类型=复选框值=SQL>四< BR>
            &其中;输入的onchange =showUser2(); NAME =PERSON2 []类型=复选框值=窗口>五< BR>
                      &其中;输入的onchange =showUser2(); NAME =PERSON2 []类型=复选框值=云>云< BR>
            &其中;输入的onchange =showUser2(); NAME =PERSON2 []类型=复选框值=微软Office>的Java< BR>

        < /形式GT;

        < BR>
        < D​​IV ID =txtHint>< B>个人信息将在这里列出...< / B>< / DIV>

    < /身体GT;
< / HTML>
 

PHP文件

 <!DOCTYPE HTML>
< HTML>
< HEAD>
<风格>
表 {
    宽度:100%;
    边境崩溃:崩溃;
}

表,TD,日{
    边界:1px的纯黑色;
    填充:5px的;
}

日的{text-align:left进行;}
< /风格>
< /头>
<身体GT;

< PHP
$人= filter_input(INPUT_POST,'人',FILTER_VALIDATE_INT,FILTER_FORCE_ARRAY);
的foreach($某人为$ PERSONID)
{
    $ allIds = $ PERSONID','。。;
}
$ PERSONID = RTRIM($ allIds,,);
       }


$ PERSON2 = filter_input(INPUT_POST,PERSON2,FILTER_VALIDATE_INT,FILTER_FORCE_ARRAY);
的foreach($ PERSON2为$ personid2)
{
    $ allIds2 = $ personid2','。。;
}
$ personid2 = RTRIM($ allIds2,,);
       }


包括(包括/ db.php中);



全球$ CON;


$ SQL =SELECT * FROM课程WHERE(course_duration IN('$ PERSONID。))或(course_duration IN('$ personid2。'))LIMIT 10;
$结果= mysqli_query($ CON,$ SQL);
$ SQLCOUNT =SELECT * FROM课程WHERE(course_duration IN('。$ PERSONID。))或(course_subc1 IN('。$ personid2。))或(course_subc3 IN('。$ personid2。 '))OR(course_subc1 IN(''))OR(course_subc4 IN(''))OR(course_subc5 IN('')),$ personid2。,$ personid2。,$ personid2。;
$ get_crs_count = mysqli_query($ CON,$ SQLCOUNT);
$ COUNT_ROWS = mysqli_num_rows($ get_crs_count);
回声'< p风格=保证金底:8像素;保证金顶:8像素;字体大小:18像素;>< B>将现有课程的数量:其中; / B> 。 $ COUNT_ROWS;
而($ row_crs = mysqli_fetch_array($结果)){

    $ crs_id = $ row_crs ['COURSE_ID'];
        $ crs_cat = $ row_crs ['course_cat'];

    $ crs_provider = $ row_crs ['course_provider'];

    $ crs_title = $ row_crs ['course_title'];
        $ crs_price = $ row_crs ['course_price'];
          $ crs_city = $ row_crs ['course_city'];
                      $ crs_category = $ row_crs ['course_cat1'];

          $ crs_date = $ row_crs ['course_date1'];


$ crs_sdesc = $ row_crs ['course_sdesc'];
$ crs_shortdesc = mb_strimwidth($ crs_sdesc,0140,......);
        $ crs_image = $ row_crs ['course_image'];
        $ provider_image = $ row_crs ['provider_image'];


  回声<物品类=搜索,结果行'><中心>
      < D​​IV CLASS ='COL-XS-12 COL-SM-12 COL-MD-3'ID ='thumbnailContainer'>
        < A HREF =#标题=Lorem存有级=缩略图ID =resultThumbnail'>< IMG SRC ='$ provider_image/>< / A>
     < A HREF ='searchPage.php crs_price = $ crs_price?风格=颜色:黑色;> <按钮的ID ='resultprice'><跨度ID ='resultpriceText'> $ $ crs_price< / SPAN>< /按钮>< / A>
      < / DIV>
      < D​​IV CLASS ='COL-XS-12 COL-SM-12 COL-MD-2'>
        < UL类=元搜索ID =listDesign'>
        < A HREF ='searchPage.php crs_date = $ crs_date?风格=颜色:白色;'> <李><按钮的ID ='resultInfo'><我类=发发日历FA-1X'><跨度ID ='iconText'> $ crs_date< / SPAN>< / I>< /按钮>< /李>< / A>
         < A HREF ='searchPage.php crs_category = $ crs_category?风格=颜色:白色;'> <李><按钮的ID ='resultInfo2'><我类=发发发,标签FA-1X'><跨度ID ='iconText'> $ crs_category< / SPAN>< / I>< /按钮>< /李>< / A>
< A HREF ='searchPage.php crs_provider = $ crs_provider?风格=颜色:白色;'><李><按钮的ID ='resultInfo'><我类=发发,graduation-盖FA-1X'><跨度ID ='iconText'> $ crs_provider< / SPAN>< / I>< /按钮>< /李>< / A>
< A HREF =?searchPage.php城市= $ crs_city风格=颜色:白色;'><李><按钮的ID ='resultInfo'><我类=发发-MAP-标志FA-1X'><跨度ID ='iconText'> $ crs_city< / SPAN>< / I>< /按钮>< /李>< / A>
        < / UL>
      < / DIV>< /中心>
      < D​​IV CLASS ='COL-XS-12 COL-SM-12 COL-MD-7 excerpet'>
        &所述; H3的id ='resultHeading'>&所述; A HREF ='coursePage.php crs_id = $ crs_id?'身份证='headingLinking'>&其中b取代; $ crs_title&所述; / B个;&所述; / a取代;&其中; / H3>

        < D​​IV ID ='courseshortDescription'>
$ crs_shortdesc
 <中心>< A HREF ='coursePage.php crs_id = $ crs_id?风格=颜色:白色;'><按钮类='BTN BTN-危险的ID ='findoutBtn'>了解更多&LT ; /按钮>< / A> < /中心>
        < / DIV>

< / DIV>

      <跨度类=clearfix博尔达'>< / SPAN>
    < /条>中;
}

mysqli_close($ CON);
?>
< /身体GT;
< / HTML>
 

没有错误显示,但什么时候被选中的复选框会发生,它只是停止在该行(索引JS找到):

 });的document.getElementById(txtHint)的innerHTML =< D​​IV CLASS ='搬入指示'>< IMG SRC ='AJAX-loader.gif/>&安培; NBSP;请稍候...加载新课程...< / DIV>中;
 

解决方案

而不是 VAR selectedPerson = $('#TESTFORM)的序列化(); 试试这个:

  VAR selectedPeople = {人:[]};
$('输入[名称=人[]]:选中)每个(函数(){。
    selectedPeople.person.push($(本).VAL());
});
 

和你的PHP变化 $人= ... 来:

  $人= filter_input(INPUT_POST,'人',FILTER_VALIDATE_INT,FILTER_FORCE_ARRAY);
的foreach($某人为$ PERSONID)
{
    $ allIds = $ PERSONID','。。;
}
$ PERSONID = RTRIM($ allIds,,);
 

This is based on the following example:

http://www.w3schools.com/php/php_ajax_database.asp

The differences are mainly that I am using checkboxes instead of select and where I would want to be able to select multiple items across multiple checkboxes forms:

Below are the two problems I have:

I want to be able to post multiple variable in the URL because as of now only one variable can be posted, and I get an error for the one not selected. I want to be able to select multiple checkboxes at once. At its current state you can select multiple checkboxes but the results is only adjusted on the last checkboxes. FOr instance if checkbox 2 + 3 is check only 3 will be displayed, when I would want the result of 2 and 3.

Below is the html portion:

<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
        <script>
            function showUser() {
                var selectedPerson = $('#testform').serialize();
                                                    document.getElementById("txtHint").innerHTML = "<div class='loading-indication'><img src='ajax-loader.gif' /> &nbsp; Please wait... Loading New Courses...</div>";


                $.ajax({
                    url:'getuser.php',
                    type:'post',
                    data:selectedPerson,
                    success:function(res){
                        $('#txtHint').html(res);
                    }
                })
            }
        </script>

        <script>
            function showUser2() {
                var selectedPerson = $('#testform2').serialize();
                                                    document.getElementById("txtHint").innerHTML = "<div class='loading-indication'><img src='ajax-loader.gif' /> &nbsp; Please wait... Loading New Courses...</div>";


                $.ajax({
                    url:'getuser.php',
                    type:'post',
                    data:selectedPerson,
                    success:function(res){
                        $('#txtHint').html(res);
                    }
                })
            }
        </script>
    </head>
    <body>

        <form id="testform">
            <input onchange="showUser();" name="person[]" type="checkbox" value="1">One<br>
            <input onchange="showUser();" name="person[]" type="checkbox" value="2">Two<br>
            <input onchange="showUser();" name="person[]" type="checkbox" value="3">Three<br>
            <input onchange="showUser();" name="person[]" type="checkbox" value="4">Four<br>
            <input onchange="showUser();" name="person[]" type="checkbox" value="5">Five<br>
        </form>

        <form id="testform2">
            <input onchange="showUser2();" name="person2[]" type="checkbox" value="communication">communication<br>
            <input onchange="showUser2();" name="person2[]" type="checkbox" value="business">business<br>
            <input onchange="showUser2();" name="person2[]" type="checkbox" value="html and css">Three<br>
            <input onchange="showUser2();" name="person2[]" type="checkbox" value="sql">Four<br>
            <input onchange="showUser2();" name="person2[]" type="checkbox" value="windows">Five<br>
                      <input onchange="showUser2();" name="person2[]" type="checkbox" value="cloud">Cloud<br>
            <input onchange="showUser2();" name="person2[]" type="checkbox" value="microsoft office">Java<br>

        </form>

        <br>
        <div id="txtHint"><b>Person info will be listed here...</b></div>

    </body>
</html>

Below is the PHP part:

<!DOCTYPE html>
<html>
<head>
<style>
table {
    width: 100%;
    border-collapse: collapse;
}

table, td, th {
    border: 1px solid black;
    padding: 5px;
}

th {text-align: left;}
</style>
</head>
<body>

<?php
 $person = '';
        $person  = isset($_POST['person']) ? $_POST['person'] : '';
        $allIds = '';
        if($person!=''){
            foreach($person as $personid){
                $allIds .= $personid.',';
            }
            $personid = rtrim($allIds,',');
        }


 $person2 = '';
        $person2  = isset($_POST['person2']) ? $_POST['person2'] : '';
        $allIds = '';
        if($person2!=''){
            foreach($person2 as $personid2){
                $allIds .= $personid2.',';
            }
            $personid2 = rtrim($allIds,',');
        }


include("includes/db.php"); 



global $con;


$sql= "SELECT * FROM courses WHERE (course_duration IN ('" . $personid . "')) OR (course_duration IN ('" . $personid2. "')) LIMIT 10";
$result = mysqli_query($con,$sql);
$sqlCount = "SELECT * FROM courses WHERE (course_duration IN ('" . $personid . "')) OR (course_subc1 IN ('" . $personid2. "')) OR (course_subc3 IN ('" . $personid2. "')) OR (course_subc1 IN ('" . $personid2. "')) OR (course_subc4 IN ('" . $personid2. "')) OR (course_subc5 IN ('" . $personid2. "'))";
$get_crs_count = mysqli_query($con, $sqlCount);
$count_rows = mysqli_num_rows($get_crs_count);
echo '<p style="margin-bottom: 8px;margin-top: 8px;font-size:18px;"><b>Number of courses available: </b>' . $count_rows ;
while($row_crs = mysqli_fetch_array($result)){ 

    $crs_id = $row_crs['course_id'];
        $crs_cat = $row_crs['course_cat'];

    $crs_provider = $row_crs['course_provider'];

    $crs_title = $row_crs['course_title'];
        $crs_price = $row_crs['course_price'];
          $crs_city= $row_crs['course_city'];
                      $crs_category= $row_crs['course_cat1'];

          $crs_date= $row_crs['course_date1'];


$crs_sdesc= $row_crs['course_sdesc'];
$crs_shortdesc = mb_strimwidth("$crs_sdesc",0,140,"...");
        $crs_image = $row_crs['course_image'];
        $provider_image = $row_crs['provider_image'];


  echo " <article class='search-result row'><center>
      <div class='col-xs-12 col-sm-12 col-md-3' id='thumbnailContainer'>
        <a href='#' title='Lorem ipsum' class='thumbnail' id='resultThumbnail'><img src='$provider_image' /></a>
     <a href='searchPage.php?crs_price=$crs_price' style='color:black;'>  <button id='resultprice'><span id='resultpriceText'>$ $crs_price</span></button></a>
      </div>
      <div class='col-xs-12 col-sm-12 col-md-2'>
        <ul class='meta-search' id='listDesign'>
        <a href='searchPage.php?crs_date=$crs_date' style='color:white;'>   <li><button id='resultInfo'><i class='fa fa-calendar fa-1x'><span id='iconText'>  $crs_date</span></i></button></li></a>
         <a href='searchPage.php?crs_category=$crs_category' style='color:white;'>   <li><button id='resultInfo2'><i class='fa fa fa-tags fa-1x'><span id='iconText'> $crs_category</span></i></button></li></a>
<a href='searchPage.php?crs_provider=$crs_provider' style='color:white;'><li><button id='resultInfo'><i class='fa fa-graduation-cap fa-1x'><span id='iconText'>  $crs_provider</span></i></button></li></a>
<a href='searchPage.php?city=$crs_city' style='color:white;'><li><button id='resultInfo'><i class='fa fa-map-marker fa-1x'><span id='iconText'> $crs_city</span></i></button></li></a>
        </ul>
      </div></center>
      <div class='col-xs-12 col-sm-12 col-md-7 excerpet'>
        <h3 id='resultHeading'><a href='coursePage.php?crs_id=$crs_id' id='headingLinking'><b>$crs_title</b></a></h3>

        <div id='courseshortDescription'>
$crs_shortdesc
 <center><a href='coursePage.php?crs_id=$crs_id' style='color:white;'><button class='btn btn-danger' id='findoutBtn'>Find Out More</button></a> </center>
        </div>  

</div>

      <span class='clearfix borda'></span>
    </article>";
}

mysqli_close($con);
?>
</body>
</html>

Update:

<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
        <script>
            function showUser() {
var selectedPeople = {person: []};
$('input[name="person"]:checked').each(function() {
    selectedPeople.person.push($(this).val());
});                                                    document.getElementById("txtHint").innerHTML = "<div class='loading-indication'><img src='ajax-loader.gif' /> &nbsp; Please wait... Loading New Courses...</div>";


                $.ajax({
                    url:'getuser.php',
                    type:'post',
                    data:selectedPerson,
                    success:function(res){
                        $('#txtHint').html(res);
                    }
                })
            }
        </script>

        <script>
            function showUser2() {
var selectedPeople = {person2: []};
$('input[name="person2"]:checked').each(function() {
    selectedPeople.person2.push($(this).val());
});                                                    document.getElementById("txtHint").innerHTML = "<div class='loading-indication'><img src='ajax-loader.gif' /> &nbsp; Please wait... Loading New Courses...</div>";


                $.ajax({
                    url:'getuser.php',
                    type:'post',
                    data:selectedPerson,
                    success:function(res){
                        $('#txtHint').html(res);
                    }
                })
            }
        </script>
    </head>
    <body>

        <form id="testform">
            <input onchange="showUser();" name="person[]" type="checkbox" value="1">One<br>
            <input onchange="showUser();" name="person[]" type="checkbox" value="2">Two<br>
            <input onchange="showUser();" name="person[]" type="checkbox" value="3">Three<br>
            <input onchange="showUser();" name="person[]" type="checkbox" value="4">Four<br>
            <input onchange="showUser();" name="person[]" type="checkbox" value="5">Five<br>
        </form>

        <form id="testform2">
            <input onchange="showUser2();" name="person2[]" type="checkbox" value="communication">communication<br>
            <input onchange="showUser2();" name="person2[]" type="checkbox" value="business">business<br>
            <input onchange="showUser2();" name="person2[]" type="checkbox" value="html and css">Three<br>
            <input onchange="showUser2();" name="person2[]" type="checkbox" value="sql">Four<br>
            <input onchange="showUser2();" name="person2[]" type="checkbox" value="windows">Five<br>
                      <input onchange="showUser2();" name="person2[]" type="checkbox" value="cloud">Cloud<br>
            <input onchange="showUser2();" name="person2[]" type="checkbox" value="microsoft office">Java<br>

        </form>

        <br>
        <div id="txtHint"><b>Person info will be listed here...</b></div>

    </body>
</html>

the php file

<!DOCTYPE html>
<html>
<head>
<style>
table {
    width: 100%;
    border-collapse: collapse;
}

table, td, th {
    border: 1px solid black;
    padding: 5px;
}

th {text-align: left;}
</style>
</head>
<body>

<?php
$person = filter_input(INPUT_POST, 'person', FILTER_VALIDATE_INT, FILTER_FORCE_ARRAY);
foreach ($person as $personid)
{
    $allIds .= $personid.',';
}
$personid = rtrim($allIds,',');
       }


$person2 = filter_input(INPUT_POST, 'person2', FILTER_VALIDATE_INT, FILTER_FORCE_ARRAY);
foreach ($person2 as $personid2)
{
    $allIds2 .= $personid2.',';
}
$personid2 = rtrim($allIds2,',');
       }


include("includes/db.php"); 



global $con;


$sql= "SELECT * FROM courses WHERE (course_duration IN ('" . $personid . "')) OR (course_duration IN ('" . $personid2. "')) LIMIT 10";
$result = mysqli_query($con,$sql);
$sqlCount = "SELECT * FROM courses WHERE (course_duration IN ('" . $personid . "')) OR (course_subc1 IN ('" . $personid2. "')) OR (course_subc3 IN ('" . $personid2. "')) OR (course_subc1 IN ('" . $personid2. "')) OR (course_subc4 IN ('" . $personid2. "')) OR (course_subc5 IN ('" . $personid2. "'))";
$get_crs_count = mysqli_query($con, $sqlCount);
$count_rows = mysqli_num_rows($get_crs_count);
echo '<p style="margin-bottom: 8px;margin-top: 8px;font-size:18px;"><b>Number of courses available: </b>' . $count_rows ;
while($row_crs = mysqli_fetch_array($result)){ 

    $crs_id = $row_crs['course_id'];
        $crs_cat = $row_crs['course_cat'];

    $crs_provider = $row_crs['course_provider'];

    $crs_title = $row_crs['course_title'];
        $crs_price = $row_crs['course_price'];
          $crs_city= $row_crs['course_city'];
                      $crs_category= $row_crs['course_cat1'];

          $crs_date= $row_crs['course_date1'];


$crs_sdesc= $row_crs['course_sdesc'];
$crs_shortdesc = mb_strimwidth("$crs_sdesc",0,140,"...");
        $crs_image = $row_crs['course_image'];
        $provider_image = $row_crs['provider_image'];


  echo " <article class='search-result row'><center>
      <div class='col-xs-12 col-sm-12 col-md-3' id='thumbnailContainer'>
        <a href='#' title='Lorem ipsum' class='thumbnail' id='resultThumbnail'><img src='$provider_image' /></a>
     <a href='searchPage.php?crs_price=$crs_price' style='color:black;'>  <button id='resultprice'><span id='resultpriceText'>$ $crs_price</span></button></a>
      </div>
      <div class='col-xs-12 col-sm-12 col-md-2'>
        <ul class='meta-search' id='listDesign'>
        <a href='searchPage.php?crs_date=$crs_date' style='color:white;'>   <li><button id='resultInfo'><i class='fa fa-calendar fa-1x'><span id='iconText'>  $crs_date</span></i></button></li></a>
         <a href='searchPage.php?crs_category=$crs_category' style='color:white;'>   <li><button id='resultInfo2'><i class='fa fa fa-tags fa-1x'><span id='iconText'> $crs_category</span></i></button></li></a>
<a href='searchPage.php?crs_provider=$crs_provider' style='color:white;'><li><button id='resultInfo'><i class='fa fa-graduation-cap fa-1x'><span id='iconText'>  $crs_provider</span></i></button></li></a>
<a href='searchPage.php?city=$crs_city' style='color:white;'><li><button id='resultInfo'><i class='fa fa-map-marker fa-1x'><span id='iconText'> $crs_city</span></i></button></li></a>
        </ul>
      </div></center>
      <div class='col-xs-12 col-sm-12 col-md-7 excerpet'>
        <h3 id='resultHeading'><a href='coursePage.php?crs_id=$crs_id' id='headingLinking'><b>$crs_title</b></a></h3>

        <div id='courseshortDescription'>
$crs_shortdesc
 <center><a href='coursePage.php?crs_id=$crs_id' style='color:white;'><button class='btn btn-danger' id='findoutBtn'>Find Out More</button></a> </center>
        </div>  

</div>

      <span class='clearfix borda'></span>
    </article>";
}

mysqli_close($con);
?>
</body>
</html>

no errors are shown but what happens when a checkbox is selected, it just stops at this line (found on index js):

});                                                    document.getElementById("txtHint").innerHTML = "<div class='loading-indication'><img src='ajax-loader.gif' /> &nbsp; Please wait... Loading New Courses...</div>";

解决方案

Instead of var selectedPerson = $('#testform').serialize(); try this:

var selectedPeople = {person: []};
$('input[name="person[]"]:checked').each(function() {
    selectedPeople.person.push($(this).val());
});

and in your PHP change $person = ... to:

$person = filter_input(INPUT_POST, 'person', FILTER_VALIDATE_INT, FILTER_FORCE_ARRAY);
foreach ($person as $personid)
{
    $allIds .= $personid.',';
}
$personid = rtrim($allIds,',');

阅读全文

相关推荐

最新文章