2

私は現在、ユーザー入力都市に基づいてmySQLデータベースから検索を構築するWebサイトのような小さな不動産を構築しようとしている割り当てに取り組んでいます。現在、ユーザーが都市を正確に入力したかどうかに基づいて正しい結果を返すように機能していますが、ユーザーが都市の一部だけを入力した場合に検索を返すことができるようにしたいと思います。

例として、割り当ての一部の都市が「Tomsville」と「OceanCove」である場合、誰かが「Tom」または「T」を入力した場合でも、検索で「Tomsville」の結果を返すことができるようにする必要があります。 「...「ocean」を入力して結果を得ることができる「OceanCove」についても同じことが当てはまる必要があります。

ユーザー入力の変数は$findhomeです。

この質問に関連する私のコードの一部は次のとおりです。

 $statement  = "SELECT *";
 $statement .= "FROM u1585_homes ";

if ($findhome!= 'ALL')
{
    $statement .= "WHERE city ='".$findhome."' ";
}
    $statement .= "ORDER BY city";

    $sqlResults = selectResults($statement);

    $error_or_rows = $sqlResults[0];

    if (substr($error_or_rows, 0 , 5) == 'ERROR')
    {
        print "<br />Error on DB";
        print $error_or_rows;
        } else {

                $arraySize = $error_or_rows;

                for ($i=1; $i <= $error_or_rows; $i++)
                {
                    $image_file = $sqlResults[$i]['image_file'];
                    $city = $sqlResults[$i]['city'];
                    $price = $sqlResults[$i]['price'];
                    $bedrooms= $sqlResults[$i]['bedrooms'];
                    $baths= $sqlResults[$i]['baths'];
                    $footage = $sqlResults[$i]['footage'];
                    $realtor_firstname = $sqlResults[$i]['realtor_firstname'];
                    $realtor_lastname = $sqlResults[$i]['realtor_lastname'];
                    $grabber = $sqlResults[$i]['grabber'];
                    $description = $sqlResults[$i]['description'];

                    print "<p><img src='images/".$image_file."'>";
                    print "<h3>".$grabber."</h3><br />";
                    print "City: ".$city."<br />";
                    print "Bedrooms: ".$bedrooms."<br />";
                    print "Baths: ".$baths."<br />";
                    print "Price: ".$price."<br />";
                    print "Footage: ".$footage."<br />";
                    print "Realtor: $realtor_firstname ".$realtor_lastname."<br />";

                    print "Description: ".$description;
                    //print ""
                }               
        }
    }
4

2 に答える 2

3

%検索語の周りを使用して、演算子の代わりにlikeを使用してみてください。=

$statement .= "WHERE city like '%".$findhome."%' ";
于 2012-08-21T06:05:29.290 に答える
0

LIKE演算子を使用する

$statement .= "WHERE city LIKE '%".$findhome."%' ";
于 2012-08-21T06:09:20.433 に答える