Javascript 如何在ajax中从执行3个过滤器
我是一个javascript和php的新手,刚学了不到两周,但是我正在努力学习,因为我真的很喜欢这一点,不管怎样,现在我正在努力为我工作的公司做一个项目,不是我们将使用它,而是作为一种激励 该项目是关于在sql中进行查询,该查询将返回一个表,但使用三个下拉列表中给出的参数 现在这三个必须选择三个条件。即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'"; 到目前为止,我已经写了
$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所说的那样检查开发人员的控制台!