我有一个包含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值关联的所有记录。我知道如何编写查询但我不知道如何查找然后使用所选的值。
有人可以告诉我如何从中获取所选值
先谢谢你的考虑。
答案 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);