<?php
$servername = "localhost";
$username = "root";
$password = "";
mysql_connect("$servername", "$username", "$password") or die ("Could not connect!");
mysql_select_db("test") or die ("Could not connect to database!");
$output = '';
if(isset($_POST['name'])) {
$searchq = $_POST['name'];
$query = mysql_query("SELECT * FROM catalouge WHERE name LIKE '%$searchq%' OR cost LIKE '%$searchq%'") or die ("Could not search!");
$count = mysql_num_rows($query);
if($count == 0) {
$output = 'That item does not exist';
}else {
while ($row = mysql_fetch_array($query)) {
$name = $row['name'];
$cost = $row['cost'];
$output = '<div>Item Name: ' .$name. '<br>Cost: ' .$cost. '</div><br>';
}
}
}
?>
<html>
<body>
<form method="POST">
<input type="text" name="name" placeholder="Search for an item..."></input>
<input type="Submit" value=">>"></input>
<?php print("$output"); ?>
</form>
</body>
</html>
我真的需要帮助。我需要通过搜索表单来从数据库中打印/回显所有数据。我尝试使用print_r
和var_dump
来尝试显示数据库中的所有信息。
答案 0 :(得分:1)
您的代码看起来很完美 只改变这个...你需要添加点。对于concat字符串。下一个结果。
$output .= '<div>Item Name: ' .$name. '<br>Cost: ' .$cost. '</div><br>';
尝试..它会起作用..
它在$output
varible中添加了所有记录,并且仅在表单后回显它。像这样。
echo $output;
就是这样..我希望它对你有用。