我是 php 和 ajax 新手,我希望一旦用户选择一个名称,我就能从 BDD 中获取具有该名称值的行。我为此使用了 Jquery post :
这是我的 BDD 请求:
public static function getIdPre($nomp) //My problem is on this $nomp var
{
require_once('database.php');
$db = DbConnection::get();
$prestQuer = $db->prepare('SELECT * FROM prst WHERE nomp=? ');
$prestQuer->execute(array($nomp));
$row= $prestQuer->fetch();
return($row['idp']);
}
这是我获取 $nomp 值的地方:
if((isset($_POST['nompr']))){
$nomp=$_POST['nompr'];
$FilterTarifs=MainController::getPrstFilterTarif($nomp);
foreach ($FilterTarifs as $FilterTarif) {
...}
一旦我做了这样的事情:
$FilterTarifs=MainController::getPrstFilterTarif('Octroi'); It works perfectly but once I let it in the first way :
$FilterTarifs=MainController::getPrstFilterTarif($nomp);
即使该值是从 Jquery post 正确获取的,它也不起作用:
$("#filtrBtn").click(function () {
if(nompres===undefined)
{
alert("Choisir un filtre d'abord ");
}
else
{
$(".bnqInfos").html("");
$.post(basUrl+'views/component/filterdata.php',
{
nompr:nompres,//Here is the given name
}, function(data) {
// alert(data);
$(".bnqInfos").html(data);
});
}
});
这是我的 Controller 函数 getIdPre():
public static function getPrstFilterTarif($nomp)
{
$idpr=Prest::getIdPre($nomp);
$result=Tarif::getTarifFilter($idpr);
return $result;
}
我不明白为什么它不起作用。 我应该怎么办?有人可以帮忙吗?
最佳答案
确保 $nomp
周围没有多余的空格。
$nomp = trim($_POST['nomp']);
关于php pdo 哪里请求对给定值不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48310797/