当从表单中选择特定选项时,我将一些数据传递给路径。我测试了值及其结束但是当我尝试使用if语句时不起作用,请参阅下面的代码:
$app->post('/fdfd', function ($request, $response) {
$params = $request->getParams();
$val = $params['file']; //value coming over is = "pipe"
$users = $this->db->query("SELECT * FROM `stock`")->fetchAll(PDO::FETCH_OBJ);
foreach ($users as $cat) {
if ($cat->category == $val) {
$name = $cat->name;
echo "<option value='test'>$name</option>";
} else {
echo "False";
}
}
})->setName('lazyy');
我确信价值即将结束,因为如果我将if语句更改为==“pipe并打印$ val,则显示管道。
是否需要很长时间才能从表单中获取值并且代码在没有它的情况下运行?我一直试图弄清楚任何帮助将不胜感激。
但是,如果我明确地将$ val的值更改为管道,它就可以工作。当我将$ val更改为pipe时,下面的代码有效。
$app->post('/fdfd', function ($request, $response) {
$params = $request->getParams();
$val = "pipe";
$users = $this->db->query("SELECT * FROM `stock`")->fetchAll(PDO::FETCH_OBJ);
sleep(2);
foreach ($users as $cat) {
if ($cat->category == $val) {
$name = $cat->name;
echo "<option value='test'>$val</option>";
} else {
echo "False";
}
}
})->setName('lazyy');
如果需要,请参阅下面的jQuery代码:
$("#catId").on("change", function() {
var category = document.getElementById("catId").value
$.post("{{ path_for('lazyy') }}", {
file:category
}, function(data) {
$("#dift").html(data);
});
})