容器和变量" sresult"这在某种程度上是未定义的。但我不明白为什么,我认为可以将变量传递给另一个Div-Container。
这是我的拳头Div-Container:
<div id = "header">
<h1>User-Search</h1>
<?php if(!empty($user)): ?>
<?php
echo'<form action="search.php" method="POST">
<input type="text" placeholder="User Search" name="search_user">
<input type="submit">
</form>';
if(!empty ($_POST['search_user'])):
$search_user = "SELECT username FROM users WHERE username like :search_user";
$edited_search_user = "%".$_POST['search_user']."%";
$suser = $conn->prepare($search_user);
$suser->bindParam(':search_user', $edited_search_user);
$suser->execute();
$sresult = $suser->fetchAll();
?>
<?php endif; ?>
<?php endif; ?>
</div>
这是我的第二个:
<div id = "textarea">
<?php
if(count($sresult)> 0)
{
foreach ($sresult as $srow)
{
echo'<table>';
echo'<th>Username : </th>';
echo'<td>'.$srow["username"].'</td';
echo'</table>';
}
}
else {
echo 'No User found !';
}
?>
</div>
我试图将所有东西放在一个Div-Container中,但即使在那里它也没有用。
答案 0 :(得分:0)
变量$sresult
在您提交表单时由于!empty ($_POST['search_user'])
而定义为 ,因此您应该先检查$sresult
是否存在,然后再对其进行操作。这可以通过empty()
:
<div id = "textarea">
<?php
if(!empty($sresult) > 0)
{
foreach ($sresult as $srow)
{
echo'<table>';
echo'<th>Username : </th>';
echo'<td>'.$srow["username"].'</td';
echo'</table>';
}
}
else {
echo 'No User found !';
}?>
</div>
函数count
不起作用,因为它只检查变量中元素的大小/数量,而不检查它是否存在。这就是原因 - 使用empty
。