Как использовать значение 2 ComboBox в качестве критерия в моем PHP?

Добрый день всем.
Прежде всего извините за прошлые вопросы.

Как я могу использовать два комбинированных списка их значения в качестве критериев MySQL?

Вот мой код до сих пор

При загрузке формы все данные из базы данных будут отображаться в таблице.

<div class= "yesPrint">
<?php
$con = mysql_connect("localhost","root","");
mysql_select_db("poi",$con);
$sql = "select name,user_date,user_time,address from tblmarker";
$mydata = mysql_query($sql,$con);
?>

<font size="2" color="black">
<div class="dataTables_wrapper form-inline" role="grid">
<table border=1 class="table table-bordered table-hover dataTable" id='tbody' width="100%" height="100%">
<tr>
<th style="text-align:center;background:#eaeaea;">Crime Name</th>
<th style="text-align:center;background:#eaeaea;">Date</th>
<th style="text-align:center;background:#eaeaea;">Time</th>
<th style="text-align:center;background:#eaeaea;">Address</th>
</tr>
<?php
while ($record = mysql_fetch_array($mydata)){
echo "<tr>";
echo "<td style='padding-left:10px;'>" . $record['name'] . "</td>";
echo "<td style='padding-left:10px;'>" . $record['user_date'] . "</td>";
echo "<td style='padding-left:10px;'>" . $record['user_time'] . "</td>";
echo "<td style='padding-left:10px;'>" . $record['address'] . "</td>";
echo "</tr>";
}
?>
</table>
</div>
</font>
<?php mysql_close($con); ?>
</div>

Вот пример данных в базе данных

Crime Name            Date                  Time                 Address
Fire                January 1 2015         11:11                   1
Physical Injuries   March 1 2015           11:11                   3
Robbery             April 1 2015           11:11                  111
Carnapping          May 1 2015             11:11                   qq

Как выбрать Fire по дате января и 2015 года

Вот мой комбобокс

<select id="onmonth">
<option>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>June</option>
<option>July</option>
<option>August</option>
<option>September</option>
<option>October</option>
<option>November</option>
<option>December</option>
</select>
<select id="onyear">
<option>2014</option>
<option>2015</option>
<option>2016</option>
<option>2017</option>
<option>2018</option>
<option>2019</option>
<option>2020</option>
<option>2021</option>
<option>2022</option>
<option>2023</option>
<option>2024</option>
<option>2025</option>
<option>2026</option>
<option>2027</option>
<option>2028</option>
<option>2029</option>
<option>2030</option>
</select>

Любая помощь или идеи? Спасибо.

-1

Решение

(Извините, что сказал это в ответе, а не в комментарии, но у меня недостаточно репутации, чтобы сделать это)

Я считаю, что любой <option> нужно значение как это:

<option value="2015">2015</option>
<option value="2014">2014</option>
....

Где value тот, кто будет в $_REQUEST['onyear'], Текст между двумя тегами HTML будет отображаться в <select> для пользователя. Затем вы можете выполнить SQL-запрос с этими двумя параметрами, такими как @Kenzou.

Но вместо того, чтобы объединить ваш запрос SQL, я настоятельно рекомендую вам использовать PDO или MySqli для доступа к вашей базе данных и использовать параметры SQL, чтобы избежать SQL-инъекций (вот некоторая информация об этом:http://www.w3schools.com/sql/sql_injection.asp)

0

Другие решения

Вы можете получить данные из селекторов как $ _REQUEST [«onmonth»] и $ _REQUEST [«onyear»]. Вы можете изменить $ _REQUEST для $ _POST или $ _GET, в зависимости от вашей формы, хотя $ _REQUEST работает для обоих.

Что касается запроса, вы можете получить информацию, используя что-то вроде этого:

выберите * из таблицы, где date как ‘». $ _ REQUEST [» onmonth «].»%’ и date как ‘% «. $ _ REQUEST [» onyear «].»‘

Предполагая, что $ _REQUEST [«onyear»] = ‘2015’ и $ _REQUEST [«onmonth»] = ‘Январь’, запрос будет выглядеть следующим образом:

выберите * из таблицы, где date как «январь%» и date как «% 2015»

Что значит:

date как ‘январь%’ = все даты, начинающиеся с января
date как ‘% 2015’ = все даты, заканчивающиеся на 2015

Я не проверял это, но что-то на этом пути должно работать.

<div class= "yesPrint">
<?php
$con = mysql_connect("localhost","root","");
mysql_select_db("poi",$con);
//Query using the FORM SELECT info
$sql = "select * from tbl where `date` like '".$_REQUEST["onmonth"]."%' and `date` like '%".$_REQUEST["onyear"]."'";
$mydata = mysql_query($sql,$con);
?>

<font size="2" color="black">
<div class="dataTables_wrapper form-inline" role="grid">
<table border=1 class="table table-bordered table-hover dataTable" id='tbody' width="100%" height="100%">
<tr>
<th style="text-align:center;background:#eaeaea;">Crime Name</th>
<th style="text-align:center;background:#eaeaea;">Date</th>
<th style="text-align:center;background:#eaeaea;">Time</th>
<th style="text-align:center;background:#eaeaea;">Address</th>
</tr>
<?php
while ($record = mysql_fetch_array($mydata)){
echo "<tr>";
echo "<td style='padding-left:10px;'>" . $record['name'] . "</td>";
echo "<td style='padding-left:10px;'>" . $record['user_date'] . "</td>";
echo "<td style='padding-left:10px;'>" . $record['user_time'] . "</td>";
echo "<td style='padding-left:10px;'>" . $record['address'] . "</td>";
echo "</tr>";
}
?>
</table>
</div>
</font>
<?php mysql_close($con); ?>

0

По вопросам рекламы [email protected]