【发布时间】:2012-09-01 17:41:31
【问题描述】:
我正在尝试制作一个房地产网站,但搜索表单有些困难。
表单有 5 个字段:price_from; price_to; number_rooms、位置和 numb_square_meters。 数据库有5列:id、price、location、numb_square_meters、number_rooms。
对于价格字段,我使用输入类型字段。 对于 numb_rooms,我使用带有选项的选择类型字段(维拉、公寓、4 卧室公寓......类似的东西和所有选项选项)。 对于 location 和 square_meters 与 numb_rooms 的方法相同。
问题是这个其实不止一个:
当我在表单的 LOCATION 字段中选择“所有选项”选项时,如果不检索其他选项之一,我希望它从 SQL DB 检索每个位置
1234563平方米
这是我的代码的一部分...
<form method="post" action="index.php" enctype="multipart/form-data">
<input type="hidden" name="id">
Price <input type="text" name="price">
Price2 <input type="text" name="price2" />
Square_meters<input type="text" name="Square_meters">
Location<select name="Location">
<option>All options</option>
<option>Bucuresti</option>
<option>Iasi</option>
<option>Brasov</option>
<option>Focsani</option>
</select>
Numb_rooms<select name="Numb_rooms">
<option>All options</option>
<option>Garsoniera</option>
<option>2 Camere</option>
<option>3 Camere</option>
<option>4 Camere</option>
<option>Vila</option>
</select>
<input type="submit" name="send" value="Search">
</form>
<?php
header("content-type: image.jpg");
if(isset($_POST['send']))
{
require_once("conexiune.php"); (this is my conect to sql database script)
$id = $_POST['id'];
$price = $_POST['price'];
$price2 = $_POST['price2'];
$square_m = $_POST['Square_meters'];
$location = $_POST['location'];
$numb_rooms = $_POST['Numb_rooms'];
$selectie = mysql_query("SELECT * FROM apartamente WHERE id = '$id' && Pret>='$price'&& Pret<='$price2' && Location = '$location' && Square_meters='$Square_meters' && Numb_rooms = '$Numb_rooms ' ");
while($row = mysql_fetch_array($selectie,MYSQL_ASSOC))
{
print"<tr><td>";
print $row['id'];
print"</td><td>";
print $row['Pret'];
print"</td><td>";
print $row['Nr_camere'];
print"</td><td>";
print $row['Suprafata'];
print"</td><td>";
print $row['Locatie'];
print"</td><td>";
print $row['Descriere'];
print"</td><td>";
【问题讨论】:
-
我不确定你是从哪里复制这个例子的,但从上到下都是错误的。例如,变量名与 p$_POST 键不匹配,
header("content-type: image.jpg")不应该存在,使用 RAW 帖子值查询数据库是非常糟糕的主意。