2016-05-23 79 views
-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总是空的。我想要的是当一个人插入名称进行搜索时,它会加载该名称,当文本框为空时,它会显示来自数据库的所有数据。

+1

确定'$ _ POST [“NOM”]'具有价值?否则'$ nome'将永远是空的。如果未设置(在脚本的开头使用'echo $ _POST ['nom']'进行检查),表单可能无法正确发布。 – Michel

+1

您的表单是“method =”post“'吗?尝试var_dump($ nome);'紧跟在'$ nome = $ _ POST ['nom];' – dimlucas

+0

var总是空的,这就是问题所在。 @Michel – fabimetabi

回答

-1

呀,问题是我没有做过<form></form>