php - 过滤后变量未定义(ajax/jquery)
问题描述
让我看看我能不能解释发生了什么……
所以我有一个 PHP 页面,其中显示了特定搜索的结果。在这个页面中,我有选择框(这个特定的是静态的)来过滤我的结果,在这种情况下,特别是按地区。这个 region_id 值正在通过 Ajax/Jquery 传递。
$("#region").change(function(){
var region_id = $(this).val();
console.log(region_id);
$.ajax({
url:"results2.php",
method:"POST",
data: {region_id:region_id},
success: function(data){
$("#filter_results").html(data);
}
});
})
这个 PHP 页面“results2”还通过 HTML GET 2 属性(recipeid 和 recipename)接收。一种用于SQL查询,另一种纯粹用于动态显示。一切运行顺利,但每当我开始应用过滤器“recipeid”和“recipename”时,就会出现此消息:
注意:未定义索引:recipid in... 注意:未定义索引:recipename 在...
然而,过滤器被正确应用,但结果是错误的,因为这两个变量没有被考虑在内。
这是我的 PHP 中显示结果的部分(包括 sql 查询)...
<?php
$recipeid = $_GET["recipeid"];
$recipename = $_GET["recipename"];
$servername = "localhost";
$username = "root";
$password = "";
$db = "motherwine";
// Create connection
$conn = new mysqli($servername, $username, $password, $db);
$conn->set_charset("utf8");
// Check connection
if ($conn->connect_error) {
die("Erro: " . $conn->connect_error);
}
//Display results with region filter ON
if (isset($_POST["region_id"])) {
if($_POST["region_id"] !="")
{ $region_id = implode("", $_POST["region_id"]);
$sql="SELECT wineid, wine_name, winetype_name, wine_img, region_name, sponsored, recipe_name, recipeid, grade_name, nota
FROM (SELECT wine.id AS wineid, wine_name, winetype_name, wine_img, region_name, sponsored, recipe_name, recipe.id AS recipeid, round(avg(grade_id),0) AS nota
FROM wine, winetype, region, recipe, rating, pairing
WHERE wine.id = pairing.wine_id AND wine.winetype_id = winetype.id AND wine.region_id = region.id AND
recipe.id = pairing.recipe_id AND
rating.pairing_id = pairing.id and recipe.id LIKE '%$recipeid%' and wine.region_id LIKE '$region_id'
GROUP BY wineid, wine_name, recipe_name) AS temp, grade
WHERE grade.id = temp.nota ORDER BY sponsored DESC, nota DESC;";
$result = $conn->query($sql);
echo '<div class="container">
<div class="row justify-content-start text-left mb-2">
<div class="col-md-9" data-aos="fade">
<h2 class="font-weight-bold text-black">Para acompanhar "'.$recipename.'", a mãe sugere...</h2>
</div>
</div>
<div class="row justify-content-end text-right">
<h6 class="pr-4 text-black">Ordenar por:</h6>
<div class="single-element-widget">
<div class="default-select" id="default-select">
<select>
<option value="1">Avaliação: melhor</option>
<option value="1">Avaliação: pior</option>
<option value="1">Preço: mais caro</option>
<option value="1">Preço: mais barato</option>
</select>
</div>
</div>
</div>
<div class="row" data-aos="fade">';
如果没有足够的信息,请告诉我...
解决方案
推荐阅读
- javascript - 如何使用其属性值作为属性键重新格式化对象?
- c - 为什么内核在发送一定数量的字节后强制从客户端发送 TCP RST?
- python - NameError:名称“disney_total_revenue”未定义
- javascript - 如何为 Javascript 变量分配颜色并在整个 Javascript 代码中使用它
- python - 监控python中函数的进度
- azure-active-directory - 使用 Azure AD Graph 为用户更新“AdditionalValues”字典中的值
- php - 只返回符合时间要求的对象 AWS S3
- python - psycopg2.errors.UndefinedTable:表“live”不存在将大数据帧推送到 postgres 数据库
- javascript - 如何删除渲染阻塞样式错误(灯塔插件)
- python - Python - 为什么 iSlice 和 OrderedDict 不将 MS Excel 的所有内容写入 JSON?