使用select子句的结果为MySQL的where子句

时间:2015-05-26 02:17:37

标签: php mysql select drop-down-menu

我有一个包含12列的MySQL数据库。我使用名为' activity'的列的不同值创建了一个下拉列表。以及名为' logdate'的列这是一个约会时间。 像这样......

<form action="define_activity" id="activityform" method="post">   <!-- Form to select an activity -->
        <select name="activities" id="select1">      <!-- List of activities -->
            <option value="" selected="">Select One</option>
            <option value="NewActivity" id="newactivity"       onclick="newactivity();">New Activity</option>
<?php
foreach($db_found->query("SELECT DISTINCT activity, logdate FROM NetLog ORDER BY activity") as $act) {
echo ("<option value='$act[activity]'>$act[activity] of $act[logdate]</option>");
}
?>
</select>
<input type="submit" name = "Submit" />
</form>

这一切都很棒。我想要做的是使用所选选项的结果对同一数据库执行另一个查询,该数据库提取与所选活动和logdate值关联的所有记录。我知道如何编写查询但我不知道如何查找然后使用所选的值。

有人可以告诉我如何从中获取所选值

先谢谢你的考虑。

3 个答案:

答案 0 :(得分:1)

您需要先提交表单。

<form action="define_activity" id="activityform" method="post">

您需要提交行动参数中的有效网页。因此,如果'define_activity'不是有效的URL(即:不由htaccess处理),那么您需要A)使用您使用的相同脚本/文件或B)创建另一个页面来处理数据。

我会这样做:

<form action="process.php" id="activityform" method="post">

<强> process.php

<?php
if ( isset($_POST['activities']) ) {
    // do something with the submitted data
    $selectedValue = $_POST['activities'];
}

现在您拥有所选的值。您还可以在表单中提交任何其他值,$ _POST ['othervalue']。

要清楚地了解发送的内容,请将其转储。

die('<pre>' . print_r($_POST, true) . '</pre>');

或者您可以使用var_dump:die( var_dump($_POST) );

答案 1 :(得分:1)

我在代码中做了一些更改,我没有测试它,但我认为这会对你有所帮助:

WickedPdf.config = {
  #:wkhtmltopdf => '/usr/local/bin/wkhtmltopdf',
  #:layout => "pdf.html",
  :exe_path => 'C:\Ruby193\lib\ruby\gems\1.9.1\gems'
}

答案 2 :(得分:0)

基思,

您必须记住,Web应用程序通过HTTP协议在客户端服务器环境中工作。

第一次完成页面加载后,php脚本基本完成执行。为了运行更多代码,需要将另一个请求发送到服务器。当您执行以下操作时会发生这种情况:

a)提交表单或单击向页面发送新http请求的链接

b)让一些javascript向页面发送新的HTTP请求。

由于您刚开始使用,我们假设您只是希望该表单将新请求发送到该页面。

所以在php脚本的顶部,只需添加以下语句:

*Stream> :total streamFunctorComposition
Stream.streamFunctorComposition is possibly not total due to recursive path:
    Stream.streamFunctorComposition, Stream.streamFunctorComposition

当您访问运行脚本的页面时,无论是否单击提交帖子按钮,您都可以看到基于表单帖子显示的各种请求参数。其中一个参数将是'活动'..只需抛出一个if语句检查是否存在该参数,然后使用'activity'的值在if语句中运行查询

print_r($_REQUEST);