Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ajax中从执行3个过滤器_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Javascript 如何在ajax中从执行3个过滤器

Javascript 如何在ajax中从执行3个过滤器,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我是一个javascript和php的新手,刚学了不到两周,但是我正在努力学习,因为我真的很喜欢这一点,不管怎样,现在我正在努力为我工作的公司做一个项目,不是我们将使用它,而是作为一种激励 该项目是关于在sql中进行查询,该查询将返回一个表,但使用三个下拉列表中给出的参数 现在这三个必须选择三个条件。即 $sql ="SELECT * FROM catalogo WHERE escuelas='$e' and grado='$g' and seccion='$p'"; 到目前为止,我已经写了

我是一个javascript和php的新手,刚学了不到两周,但是我正在努力学习,因为我真的很喜欢这一点,不管怎样,现在我正在努力为我工作的公司做一个项目,不是我们将使用它,而是作为一种激励

该项目是关于在sql中进行查询,该查询将返回一个表,但使用三个下拉列表中给出的参数 现在这三个必须选择三个条件。即

 $sql ="SELECT * FROM catalogo WHERE escuelas='$e' and grado='$g' and seccion='$p'";
到目前为止,我已经写了很多东西,老实说,从不同的来源复制/粘贴了很多 基本知识,但我一直在尝试一个问题。。无论如何,这里是我的index.php代码

<script>
        function showescuelas(str) {
            if (str == "") {
                document.getElementById("txtHint").innerHTML = "";
                return;
            } else { 
                if (window.XMLHttpRequest) {
                    // code for IE7+, Firefox, Chrome, Opera, Safari
                    xmlhttp = new XMLHttpRequest();
                } else {
                    // code for IE6, IE5
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.onreadystatechange = function() {
                    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                        document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
                    }
                }
                xmlhttp.open("GET","ajaxdatospersonales.php?e="+str, true);
               //xmlhttp.open("GET","ajaxdatospersonales.php?e="+document.getElementById("esc").value+"&gra="+document.getElementById("gra").value+"&sec="+document.getElementById("sec").value,,true);

                xmlhttp.send();
            }
        }
        </script>
        </header>
        <?php include_once("menu.php"); ?>
        <div class="container">
           <h1> Agregar apartado </h1>
        <form id="form" method="post" action="procesadordatospersonales.php" >


          <!-- down below is my first filter, it feeds from a table named "escuelas"-->
            <p> <label for="escuelas">Escuela:</label>
               <select name="escuelas"  id="esc" onchange="showescuelas(this.value)">
                echo "<option>  </option>";
                <?php
                    $con = mysql_connect('localhost', 'root', 'pass') or die(mysql_error());
                    mysql_select_db('apartados');

                    $sql = "SELECT escuelas FROM escuelas";
                    $data = mysql_query($sql,$con);

                    while($category = mysql_fetch_array($data)){
                        $catname = $category['escuelas'];
                        $valueid = $category['escuelas'];
                      echo '<option value="'.$valueid.'">'.$catname.'</option>';
                    }
                ?>

                </select>

                <br />

            </p>





          <!-- down below is my second filter, it feeds from a table named "grados"-->

            <p> <label for="grado">grado:</label>
               <select name="grado"  id="gra" onChange="showgrados(this.value)">
                echo "<option>  </option>";
                <?php
                    $con = mysql_connect('localhost', 'root', 'pass') or die(mysql_error());
                    mysql_select_db('apartados');

                    $sql = "SELECT grado FROM grado";
                    $data = mysql_query($sql,$con);

                    while($category = mysql_fetch_array($data)){
                        $catname = $category['grado'];
                        $valueid = $category['grado'];
                      echo '<option value="'.$valueid.'">'.$catname.'</option>';
                    }
                ?>

                </select>

                <br />




            </p>
         <!-- yep you guess it this is the last  filter, it feeds from a table named "grados"-->

            <p> <label for="seccion" >seccion:</label>
               <select name="seccion" id="sec" onChange="showescuelas(this.value)">
                echo "<option>  </option>";
                <?php
                    $con = mysql_connect('localhost', 'root', 'pass') or die(mysql_error());
                    mysql_select_db('apartados');

                    $sql = "SELECT seccion FROM seccion";
                    $data = mysql_query($sql,$con);

                    while($category = mysql_fetch_array($data)){
                        $catname = $category['seccion'];
                        $valueid = $category['seccion'];
                      echo '<option value="'.$valueid.'">'.$catname.'</option>';
                    }
                ?>

                </select>

                <br />




            </p>

        </div>
        </div>

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

            <input type="submit" value="Agregar">
        </form>
这是我的AjaxDatoPersonales.php

<?php
                $e=$_GET["e"];
                $g=$_GET["g"];
                $s=$_GET["s"];


                $con = mysqli_connect('localhost','root','pass','apartados');
                if (!$con)
                  {
                  die('Could not connect: ' . mysqli_error($con));
                  }
                mysqli_select_db($con);



                //i made this array just to check if the variables 
                $test= array("$e", "$g", "$s"); 
                echo "esta es la escuela " . $test[0] . " y este el grado " . $test[1] . " y la seccion " . $test[2] . ".";



                $sql ="SELECT * FROM catalogo WHERE escuelas='$e' and grado='$g' and seccion='$p'";


                $result = mysqli_query($con, $sql);
                $ii=1;
                echo "<table border='1'>
                <tr>
                <th>agregar</th>
                <th>isbn</th>
                <th>nombre</th>
                <th>autor</th>
                <th>editorial</th>
                </tr>";

                while($row = mysqli_fetch_array($result))
                  {
                  echo "<tr>";
                  echo "<td> <input type='checkbox' name= isbn".$ii." value=".$row['isbn']. " </td>";
                  echo "<td>" . $row['isbn'] . "</td>";
                  echo "<td>" . $row['nombre'] . "</td>";
                  echo "<td>" . $row['autor'] . "</td>";
                  echo "<td>" . $row['editorial'] . "</td>";
                  echo "</tr>";
                  $ii++;
                  }
                echo "</table>";

                mysqli_close($con);
                ?>
现在有些原因,它只是不起作用。。。。我不知道发生了什么事。。 谢谢

现在,如果你决定帮我,请尽量做一个新手。
另外,我已经知道sql注入。但这是一个有趣的项目

一把小提琴会很有趣。在浏览器中查看开发人员控制台,您可以看到请求是如何发出的,例如指向哪个URL和返回什么。这对调试ajax requestsEven有很大帮助。如果项目是为了好玩,你永远不应该使用$\u GET变量来查询数据库。我可以给你看一个实时页面。-ReferenceError:showescuelas没有定义-你应该像@kingkero所说的那样检查开发人员的控制台!