所以我坚持这个,
<input type="text" name="search">
<select>
<option value="Name">Name</option>
<option value="Address">Address</option>
<option value="company_address">company_address</option>
<option value="contact_number">contact_number</option>
</select>
<input type="submit">
<?php
include "connect.php";
$sql = "SELECT * FROM propertydetail";
x
?>
我的问题是,我如何使用PHP从我的数据库中选择一个包含填充信息的行,通过查询,我可以选择其中一个选项“name”。 我需要它来回显该名称中的所有信息,即使它在我的数据库表中被多次给出。
$output = NULL;
$output .= '<div>'. $name . $address .'</div>';
echo $output;
我可以使用php中的表格更好地格式化, 基本上我要问的是,我该如何选择 “从数据库中排”
只查询一个名字。提前致谢。我只是一个初学者,所以不要太难评判我。
答案 0 :(得分:2)
这都是非常基本的MySQL语法。查看codeacademy。假设您的数据库列名与select
选项中的值匹配。一个非常基本的搜索看起来像这样:
<form METHOD="POST"><? // need to use POST and close form also at the end. ?>
<input type="text" name="search">
<select NAME="searchtype">...</select><? // Important you name the select! ?>
<option value="Name">Name</option>
<option value="Address">Address</option>
<option value="company_address">company_address</option>
<option value="contact_number">contact_number</option>
</select>
<input type="submit">
</form>
<?php
include "connect.php";
$type = mysqli_real_escape_string($_POST['searchtype']);
$search = mysqli_real_escape_string($_POST['search']);
$sql = "SELECT * FROM propertydetail WHERE ".$type." LIKE '%".$search."%'";
?>
答案 1 :(得分:0)
您需要从表单提交中获取您的$ name。然后生成一个SELECT语句来获取与之匹配的所有记录。
$name = mysqli_real_escape_string($mysqli,$_POST['name']);
$stmt = $mysqli->prepare('SELECT * FROM `youTable` WHERE `name`=?');
$stmt->bind_param("s", $name);
$stmt->execute();
如果您选择是否搜索姓名,城市等...您需要相应地更新您的代码。