1

検索スクリプトについてサポートが必要です。サイトについて少し:私はユーザーを登録しました、そして彼らが登録するとき、彼らは彼らのユーザータイプ(すなわち、ナニー、ホームケア、デイケア)を選択します。現在、検索バーがあり、訪問者は郵便番号を入力でき、結果ページにはその郵便番号を含むデータベース内のすべてが表示されます。現在のフォーム:

<form id="form1" name="form1" method="get" action="results.php">
    <p>
      <label>Search for<input type="text" name="Search" id="Search"  /></label>
      <label>
        <select name="Field" id="Field">
          <option value="Zip">Zip</option>   
        </select>
      </label>
      <input type="submit" name="button" id="button" value="Search" />
   </p>

私がやりたいのは、ユーザーが郵便番号を入力し、ドロップダウンからNanny、Homecare、またはDaycareを選択すると、そのzip内のすべてではなく、検索結果にそのタイプのみが表示されるようにすることです。

フォームをどのように表示するか:

<form id="form1" name="form1" method="get" action="results.php">
    <p>
      <label>Search for<input type="text" name="Search" id="Search"  value="Zip" /></label>
      <label>
        <select name="Field" id="Field">
          <option value="Nanny">Nanny</option>
          <option value="Homecare">Homecare</option>
          <option value="Childcare">Childcare</option>   
        </select>
      </label>
      <input type="submit" name="button" id="button" value="Search" />
    </p>
</form>

php:

<?php
require_once('scripts/_config.php');
if(isset($_GET['Field'])){
$searchQ1=mysql_query("SELECT `First_Name`,`Last_Name`,`Nanny`,`Homecare`,`Childcare`,`City`,`State`,`Zip`,`userID` FROM `sys_profile` WHERE `".$_GET['Field']."` LIKE '".$_GET['Search']."';");
}else{
$searchQ1=mysql_query("SELECT `First_Name`,`Last_Name`,`Nanny`,`Homecare`,`Childcare`,`City`,`State`,`Zip`,`userID` FROM `sys_profile` WHERE `userID`!=0;");
}
?>

入力したzip内の乳母のみ、または入力したzip内の育児などを検索結果に表示するようにphpを変更するにはどうすればよいですか?現在、phpはそのzip内のすべてを表示しますが、フォームを2番目の例に変更しても、検索クエリを調整する方法がわからないため、まだ機能しません。

4

1 に答える 1

0

ANDクエリ内に2番目の制約を含める必要があります。に含まれているZipをDBのZipファイルと比較し$_GET['Search']、選択した値をドロップダウンからデータベースのユーザータイプと比較します。

DBはどのように見えますか?特に、ユーザータイプ情報はどのように保存されますか?投稿されたクエリから推測すると、これらはブール値(Nanny、Homecare、Childcare)ですか?

編集:乳母、在宅医療、育児がブール値である場合、可能なクエリは次のようになります。

$sql = "SELECT First_Name,Last_Name, City, State, userID FROM sys_profile WHERE Zip = " . $_GET['Search'] . " AND $_GET['Field'] = true";

したがって、Zipが検索文字列と一致するかどうか、および選択したドロップダウンアイテムの値がtrueであるかどうかを確認します。

于 2012-06-24T17:56:02.767 に答える