PHP选择选项多个查询

时间:2013-02-14 19:49:42

标签: php select option

我创建了一个包含多个复选框和多个下拉列表的表单,其中包含所有50个状态。我想从下拉表单中选择多个复选框和多个状态。我的问题当然是我...
因此,当我查询我需要的信息时,它会显示为空白。我可能会以错误的方式解决这个问题。

<form name="search_form" method="post" action="event_list">
  <table>
    <tr>
      <td>Venue</td>
      <td><input type="checkbox" name="AAC" action="" value="AAC"/>
        <label >AAC</label>
        <br />
        <input type="checkbox" name="AKC" action="" value="AKC"/>
        <label >AKC</label>
        <br />
        <input type="checkbox" name="ASCA" action="" value="ASCA"/>
        <label >ASCA</label>
        <br />
        <input type="checkbox" name="CKE" action="" value="CKE"/>
        <label >CKE</label>
        <br />
        <input type="checkbox" name="CPE" action="" value="CPE"/>
        <label >CPE</label>
        <br />
        <input type="checkbox" name="DOCNA" action="" value="DOCNA"/>
        <label >DOCNA</label>
        <br />
        <input type="checkbox" name="NADAC" action="" value="NADAC"/>
        <label >NADAC</label>
        <br />
        <input type="checkbox" name="TDAA" action="" value="TDAA"/>
        <label >TDAA</label>
        <br />
        <input type="checkbox" name="UKC" action="" value="UKC"/>
        <label >UKC</label>
        <br />
        <input type="checkbox" name="UKI" action="" value="UKI"/>
        <label >UKI</label>
        <br />
        <input type="checkbox" name="USDAA" action="" value="USDAA"/>
        <label >USDAA</label>
        <br /></td>
    </tr>
    <tr>
      <td style="text-align: left;">State:</td>
      <td style="text-align: left;"><select name="state" id="state"  multiple="multiple" size="3" onchange="setCities();">
          <option value="Alabama">Alabama</option>
          <option value="Texas">Texas</option>
        </select></td>
    </tr>

      <td align="right"><input type="submit" name="search" value="Submit"></td>
    </tr>
  </table>
</form>

 <?php
  $sql=" SELECT * FROM venue_event ";

  if (isset($_POST['search']) && !empty($_POST['search'])){
 $search_term = mysql_real_escape_string($_POST['AAC']);
 $search_term2 = mysql_real_escape_string($_POST['state']);
 $search_term3 = mysql_real_escape_string($_POST['NADAC']);
 $search_term4 = mysql_real_escape_string($_POST['AKC']);
 $search_term5 = mysql_real_escape_string($_POST['ASCA']);
 $search_term6 = mysql_real_escape_string($_POST['CKE']);
 $search_term7 = mysql_real_escape_string($_POST['CPE']);
 $search_term8 = mysql_real_escape_string($_POST['TDAA']);
 $search_term9 = mysql_real_escape_string($_POST['UKC']);
 $search_term10 = mysql_real_escape_string($_POST['UKI']);
 $search_term11 = mysql_real_escape_string($_POST['USDAA']);

 $sql .= "WHERE venue = '{$search_term}' ";
 $sql .= "OR venue = '{$search_term3}' ";
 $sql .= "OR venue = '{$search_term4}' ";
 $sql .= "OR venue = '{$search_term5}' ";
 $sql .= "OR venue = '{$search_term6}' ";
 $sql .= "OR venue = '{$search_term7}' ";
 $sql .= "OR venue = '{$search_term8}' ";
 $sql .= "OR venue = '{$search_term9}' ";
 $sql .= "OR venue = '{$search_term10}' ";
 $sql .= "OR venue = '{$search_term11}' ";
 $sql .= "AND state = '{$search_term2}'"; //if I leave this out it 
     works with checkbox
 $sql .= "ORDER BY startdate ASC";


$result=mysql_query($sql) or die(mysql_error());
    }else{
    header('Location: /wordpress/venue_events'); exit();
    }
    ?>

    <?php

    echo "<table>
    <tr>
    <th>Club Host</th>
    <th>Venue</th>
    <th>Event Location</th>
    <th>Event Start date</th>
    <th>Event End Date</th>
    <th>Event Premium</th>
    </tr>";

    while($row = mysql_fetch_array($result))
    {
    echo "<tr>";
    echo '<td><a href="'.$row['user_url'].'" target="new" >'.$row['clubhost'].'
    </a> </td>';
    echo "<td>" . $row['venue'] . "</td>";
    echo "<td>" . $row['city'] ." ". $row['state'] ."</td>";
    echo "<td>" . $row['startdate'] . "</td>";
    echo "<td>" . $row['enddate'] . "</td>";
    echo  '<td><a href="../download.php?f='.$row['file_name'].'" >Download  Premium</a></td>';
    echo "</tr>";
    }
    echo "</table>";
    ?>

1 个答案:

答案 0 :(得分:1)

您应该尝试使用“info []”替换每个名称,但保留您拥有的值。 这是一个示例代码:

<form action="test.php" method="post">
<input type="checkbox" name="check_list[]" value="value 1">
<input type="submit" />
</form>
<?php
if(!empty($_POST['check_list'])) {
    foreach($_POST['check_list'] as $check) {
            echo $check; //echoes the value set in the HTML form for each checked checkbox.
                         //so, if I were to check 1, 3, and 5 it would echo value 1, value 3, value 5.
                         //in your case, it would echo whatever $row['Report ID'] is equivalent to.
    }
}
?>