-1
我设法做到了,但现在变量$nome
没有得到任何价值,所以我的if/else没有按照它应该的方式工作。POST名称通过PDO
PHP代码:
<?php
if(!empty($_POST['nom'])){
$nome = $_POST['nom'];
}
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db_database = 'crc';
$db = new PDO('mysql:host='.$db_host.';dbname='.$db_database, $db_user, $db_pass);
if (empty($nome)){
$result = $db->prepare("SELECT * FROM perfumesh ORDER BY ref ASC ");
}
else{
$result = $db->prepare("SELECT * FROM perfumesh WHERE nome='$nome'");
}
$result->execute();
for($i=0; $row = $result->fetch(); $i++){
?>
<tr class="record">
<td><?php echo $row['ref']; ?></td>
<td><?php echo $row['nome']; ?></td>
<td><?php echo $row['preco']; ?></td>
</tr>
<?php
}
?>
输入代码:
Nome: <input type = "text" name = "nom" id="nome" placeholder="Procurar por nome">
<input type = "submit" value = "Procurar">
当我执行的代码变量$nome
总是空的。我想要的是当一个人插入名称进行搜索时,它会加载该名称,当文本框为空时,它会显示来自数据库的所有数据。
确定'$ _ POST [“NOM”]'具有价值?否则'$ nome'将永远是空的。如果未设置(在脚本的开头使用'echo $ _POST ['nom']'进行检查),表单可能无法正确发布。 – Michel
您的表单是“method =”post“'吗?尝试var_dump($ nome);'紧跟在'$ nome = $ _ POST ['nom];' – dimlucas
var总是空的,这就是问题所在。 @Michel – fabimetabi