Добрый день всем.
Прежде всего извините за прошлые вопросы.
Как я могу использовать два комбинированных списка их значения в качестве критериев 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>
Любая помощь или идеи? Спасибо.
(Извините, что сказал это в ответе, а не в комментарии, но у меня недостаточно репутации, чтобы сделать это)
Я считаю, что любой <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)
Вы можете получить данные из селекторов как $ _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); ?>