Javascript 如何将php变量传递到同一页面中的下一个查询?

Javascript 如何将php变量传递到同一页面中的下一个查询?,javascript,php,Javascript,Php,我读过,但我无法解决我的问题,dd.php有两个从mysql表检索的下拉列表框,当select从第一个drop dwon框加载相对值到第二个drop dwon框时(与国家和州drop dwon框相同),我想添加第三个msyql query3,从第二个drop dwon框中获取$SUBATE值,作为mysql的条件选择query3并回显完整的表行,请帮助我如何做到这一点这是我添加的php代码和query3: <?php require 'config.php'; // Databa

我读过,但我无法解决我的问题,dd.php有两个从mysql表检索的下拉列表框,当select从第一个drop dwon框加载相对值到第二个drop dwon框时(与国家和州drop dwon框相同),我想添加第三个msyql query3,从第二个drop dwon框中获取$SUBATE值,作为mysql的条件选择query3并回显完整的表行,请帮助我如何做到这一点这是我添加的php代码和query3:

    <?php
require 'config.php';  // Database connection
//////// End of connecting to database ////////
?>

<!doctype html public "-//w3c//dtd html 3.2//en">

<html>

<head>
<title>Multiple drop down list box</title>
<script src="js/jquery-3.3.1.min.js" ></script>

<SCRIPT language=JavaScript>
function reload(form)
{
var val=form.cat.options[form.cat.options.selectedIndex].value;
self.location='dd.php?cat=' + val ;
}
    $('.subcat').click(function(){
        var subcat = $(this).attr('id');
       // to check whether value passing or not 
       console.log(subcat);
        $.ajax({
            type: 'post',
            data: {id: subcat}, //Pass the id
        });
    });
</script>
</head>

<body>
<?Php

@$cat=$_GET['cat']; // Use this line or below line if register_global is off
if(strlen($cat) > 0 and !is_numeric($cat)){ // to check if $cat is numeric data or not. 
echo "Data Error";
exit;
}



///////// Getting the data from Mysql table for first list box//////////
$quer2="SELECT DISTINCT category,cat_id FROM category order by category"; 
///////////// End of query for first list box////////////

/////// for second drop down list we will check if category is selected else we will display all the subcategory///// 
if(isset($cat) and strlen($cat) > 0){
$quer="SELECT DISTINCT subcategory FROM subcategory where cat_id=$cat order by subcategory"; 
}else{$quer="SELECT DISTINCT subcategory FROM subcategory order by subcategory"; } 
////////// end of query for second subcategory drop down list box ///////////////////////////

echo "<form method=post name=f1 action='dd-check.php'>";
/// Add your form processing page address to action in above line. Example  action=dd-check.php////
//////////        Starting of first drop downlist /////////
echo "<select name='cat' onchange=\"reload(this.form)\"><option value=''>Select one</option>";
foreach ($dbo->query($quer2) as $noticia2) {
if($noticia2['cat_id']==@$cat){echo "<option selected value='$noticia2[cat_id]'>$noticia2[category]</option>"."<BR>";}
else{echo  "<option value='$noticia2[cat_id]'>$noticia2[category]</option>";}
}
echo "</select>";
//////////////////  This will end the first drop down list ///////////

//////////        Starting of second drop downlist /////////
echo "<select name='subcat' id='subcat'><option value=''>Select one</option>";
$subcat = '';
foreach ($dbo->query($quer) as $noticia) {
echo  "<option value='$noticia[subcategory]'>$noticia[subcategory]</option>";
}
echo "</select>";

////This is my third query3 ////
$subcat=$_POST['subcat'];
$query3 = $dbo->prepare("SELECT * FROM subcategory  WHERE subcategory=' .$subcat.'");
$query3->execute([$subcat]); 
while ($row = $query3->fetch(PDO::FETCH_ASSOC))
{
  $cat = $row['cat_id'];
  $name = $row['name'];
  $from = $row['subcategory'];
  $user = $row['user'];
  $passw= $row['passw'];
  $server = $row['server'];
  $auth = $row['auth'];
  $secure = $row['secure'];  
  $port = $row['port'];
}

//////////////////  This will end the second drop down list ///////////
//// Add your other form fields as needed here/////
echo "<input type=submit value=Submit>";
echo "</form>";
?>
<br><br>
<a href=dd.php>Reset and start again</a>
<br><br>
</body>

</html>

多个下拉列表框
函数重载(表单)
{
var val=form.cat.options[form.cat.options.selectedIndex].value;
self.location='dd.php?cat='+val;
}
$('.subcat')。单击(函数(){
var subcat=$(this.attr('id');
//检查值是否传递
console.log(subcat);
$.ajax({
键入:“post”,
数据:{id:subcat},//传递id
});
});





感谢您在read about sessions()中的回复,并在我添加的php页面开头应用:

<?php
session_start();
require 'config.php';  // Database connection
//////// End of connecting to database ////////
?>
但是query3无法获取$subcat值。

您可以使用会话
//////////        Starting of second drop downlist /////////
$_SESSION["subcat"]=$subcat;
echo "<select name='subcat' id='subcat'><option value=''>Select one</option>";
$subcat = '';
foreach ($dbo->query($quer) as $noticia) {
echo  "<option value='$noticia[subcategory]'>$noticia[subcategory]</option>";
}
echo "</select>";
////This is my third query3 need the $subcat as condition ////
session_start();
$var = $_SESSION["subcat"];
$subcat=$_GET['subcat'];
$query3 = $dbo->prepare("SELECT * FROM subcategory  WHERE subcategory=' .$var. '");
$query3->execute([$subcat]); 
while ($row = $query3->fetch(PDO::FETCH_ASSOC))
{
  $cat = $row['cat_id'];
  $name = $row['name'];
  $from = $row['subcategory'];
  $user = $row['user'];
}
echo $_SESSION["subcat"];