Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在我的PHP中使用2个组合框值作为标准?_Php_Mysql_Combobox - Fatal编程技术网

如何在我的PHP中使用2个组合框值作为标准?

如何在我的PHP中使用2个组合框值作为标准?,php,mysql,combobox,Php,Mysql,Combobox,大家好。 首先,对过去的问题感到抱歉 如何将两个组合框的值用作MySQL标准 这是到目前为止我的代码 在表单加载期间,来自数据库的所有数据都将显示在表中 <div class= "yesPrint"> <?php $con = mysql_connect("localhost","root",""); mysql_select_db("poi",$con); $sql = "select name,user_date,user_time,addr

大家好。 首先,对过去的问题感到抱歉

如何将两个组合框的值用作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>
如何在2015年1月和2015年1月之前选择Fire

这是我的组合框

<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>

一月
二月
前进
四月
也许
六月
七月
八月
九月
十月
十一月
十二月
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030

有什么帮助或想法吗?谢谢。

您可以从selects获取数据,如$\u请求[“onmonth”]和$\u请求[“onyear”]。根据您的表单,您可以将$\u请求更改为$\u POST或$\u GET,尽管$\u请求对这两种方式都有效

关于查询,您可以使用以下方式获取信息:

从tbl中选择*,其中
date
like'。$\u请求[“onmonth”]。“%”和
date
like“%.”$\u请求[“onyear”]”

假设$_REQUEST[“onyear”]=“2015”和$_REQUEST[“onmonth”]=“一月”,查询将如下所示:

从tbl中选择*,其中
日期
如“一月%”和
日期
如“%2015”

这意味着:

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); ?>         

(很抱歉在回答中这么说,而不是在评论中,但我没有足够的声誉这么做)

我相信任何
都需要这样的值:

<option value="2015">2015</option>
<option value="2014">2014</option>
....
2015
2014
....
其中,
是将在
$\u请求['onyear']
中的人。两个HTML标记之间的文本将在用户的
中显示。然后可以使用这两个参数执行SQL查询,如@Kenzou。

但是我强烈建议您使用PDO或MySqli来访问数据库,并使用SQL参数来避免SQL注入(这里有一些相关信息:)

您能在div标记中使用上面的my code编辑代码吗?添加了它。但正如@fabienm所说,我没有考虑可能的安全问题。这只是一个简单的例子。仍然给了我一个错误的通知:未定义的索引:onmonth在C:\wamp\www\New System CS\district5\submit.php第6行在我的研究中,我将如何插入它?lWell,您需要设置您的选择的名称。您只设置了元素的ID:在表单元素的属性“名称”中,当设置表单发送时,您将设置变量的名称,该变量将接收信息。
<option value="2015">2015</option>
<option value="2014">2014</option>
....