0

このページ(以下のコード)には、一連の5つのチェックボックスが含まれており、すべてが異なる値を表しています。これらを使用してデータベースにクエリを実行する必要があります。

<form id="form1" name="form1" method="post" align="center" action="section_search_results1.php">
      <p>Select The <b>Section</b> You Wish To Search In Below...      </p>
      <p>
        <label for="section"></label>
        <label for="section2"></label>
        <label>
          <input type="checkbox" name="SectionSelect" value="Functional" id="SectionSelect_0" />
          Functional</label>
        <label>
          <input type="checkbox" name="SectionSelect" value="Technical" id="SectionSelect_1" />
        Technical</label>
        <label>
          <input type="checkbox" name="SectionSelect" value="Commercial" id="SectionSelect_2" />
        Commercial</label>
        <label>
          <input type="checkbox" name="SectionSelect" value="Implementation" id="SectionSelect_3" />
        Implementation</label>
        <label>
          <input type="checkbox" name="SectionSelect" value="Innovation" id="SectionSelect_4" />
        Innovation</label>
        <br />
      </p>
      <p>Enter the <b>Keyword(s) or Keyphrase</b> Below...</p>
      <p>
        <label for="kword"></label>
        <input type="text" name="kword" id="kword" placeholder="Enter Keyword(s)" />
        <br />
      </p>
      <p>
        <input type="submit" name="submit" id="submit" value="Search" /> | | <input type="reset" name="clear" id="clear" value="Clear" />
      </p>
    </form>

ご覧のとおり、それぞれに独自の値があります。これは、データベースのクエリに使用される用語です。結果ページのphpクエリコードは次のとおりです

    <?php
          $kword = $_POST["kword"];
          $section = $_POST["SectionSelect"];

          function boldText($text, $kword) {
        return str_ireplace($kword, "<strong>$kword</strong>", $text);
    }


       // Connects to your Database 
     mysql_connect("localhost", "root") or die(mysql_error()); 
     mysql_select_db("test") or die(mysql_error()); 
     mysql_real_escape_string($kword); 
     $data = mysql_query("select company_name, section_name, question, answer from company, rfp, section, question_keywords
    where company.company_id = rfp.company_id
    and rfp.rfp_id = question_keywords.rfp_id
    and question_keywords.section_id = section.section_id
    and section_name like '%$section%'
    and keywords like '%$kword%';") 
     or die(mysql_error());
?>

最終的に私がこれをしたいのは、各チェックボックス値のwhere句を潜在的に持つようにクエリを使用してデータベースにクエリを実行することです。たとえば、xを選択したいのですが、yは「Technical」のように、yは「Functional」のようになります。

どんな助けでも素晴らしいでしょう

ありがとう

4

1 に答える 1

0

チェックボックス名を配列キーとして設定して、選択したすべてのチェックボックスの値を持つ配列として使用します。

<input type="checkbox" name="SectionSelect[0]" value="Functional" />
<input type="checkbox" name="SectionSelect[1]" value="Technical" />

echo $_POST['SectionSelect'][0]; // should print "Functional"
echo $_POST['SectionSelect'][1]; // should print "Technical"
于 2012-09-18T11:55:00.913 に答える