【发布时间】:2017-10-19 13:34:52
【问题描述】:
我正在尝试在用户从下拉列表中选择选项后填充表,该选项选用此选项应根据所选选项填充表。我不确定如何才能完成这项工作,并且我已经搜索了教程等,但没有任何帮助。因此,如果有人能以某种方式提供帮助,例如小测试代码等,我会很高兴。
我正在使用 PHP,下拉列表的选项来自 MySQL 数据库,所以总而言之,一个人将从用户下拉列表中选择一个用户,然后从不同的下拉列表中选择另一个选项,然后在选择 1、2 或全部 3 个之后还会有一个日期过滤器,将根据所选值生成一个表格。
到目前为止,我还没有完成代码,因为我不知道该怎么做,但我想我需要将所有 3 个下拉列表放在一个表单中,提交后我应该生成表格,但我怎么能有更多<select> ..... </select> 中的一个 <form> 并同时提交它们。
到目前为止我所做的(我知道这是不安全的,并且 mysql_* 在 PHP7 中不再存在)但请不要批评它。
更新
//Database query for User drop-down(DD) population.
$sqlDD = " SELECT DISTINCT `user` FROM `users` " ;
$resultDD = mysql_query($sqlDD);
//Database query for Status drop-down(DD) population.
$sqlDDStatus = " SELECT `status` FROM `status` WHERE `id` = 1 OR
`id` = 123 OR `id` = 182 OR `id` = 12 ";
$resultDDStatus = mysql_query($sqlDDStatus);
<form id="form1" name="form1" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
<select name="userSelect">
<?php
while($rowDD = mysql_fetch_array($resultDD)):
echo "<option value='" . htmlspecialchars($rowDD['user']) ."'>" . htmlspecialchars($rowDD['user']) ."</option>"; ?>
<?php endwhile; ?>
</select>
<!-- Second DD-list in the same form -->
<select name="Status" style="max-width: 250px;" >
<?php
while($rowDDS = mysql_fetch_array($resultDDStatus)):
echo "<option value='" . htmlspecialchars($rowDDS['status']) ."'>" . htmlspecialchars($rowDDS['status']) ."</option>"; ?>
<?php endwhile; ?>
</select>
<input type="submit" name="submit" value='Find'/>
</form>
//Get the submited data
<?php if(isset($_POST['submit'])): ?>
<?php echo 'This is submitted ' . $_POST['submit']; ?>
<?php endif; ?>
我添加了 echo 'This is submitted ' . $_POST['submit'];
因为我想看看提交了什么,但它得到的只是回应
“寻找”。
有什么想法可以让我从表单中的两个表单中获取数据并根据它填充表格吗?
更新 2
在得到其他用户的回答后,我看到我的表单正确处理了数据,但我现在的问题是如何使用提交的 DDL 表单中的数据并用它们填充表格?到目前为止,我已经尝试了以下方法:
<?php if(isset($_POST['submit'])): ?>
<?php $result = mysql_query( "SELECT * FROM `users` WHERE `user` =
$_POST['userSelect'] AND (`id` = 1 OR `id` = 18)" );
?>
<?php endif; ?>
然后在表格中
<table>
<?php while ($row = mysql_fetch_assoc($result)) :; ?>
<tr>
<td><?php echo $row['user']; ?></td>
<?php endwhile; ?>
</table>
但是当我尝试它时,我没有得到任何回应。如何解决我的问题并获得想要的输出?
编辑
我认为经过一些研究后我发现了我的错误,我现在无法测试代码,但我几乎可以肯定你不能在数据库查询中使用$_POST['userSelect'],所以我只需要将$_POST['userSelect'] 分配给一些人在我在查询中使用它之前的变量。到目前为止,我已经获得了 1 个有用的小技巧......对 stackoverflow 感到非常失望......
【问题讨论】:
-
这不是关于代码的问题,只要你连一行都不显示(--> 这不是使用 StackOverflow 的方法)。关于你的工作,自己尝试,实验,你会更快得到答案。您是否尝试过构建表单并在提交时获取其数据?您是否尝试过查询以创建表?
-
@AymDev 请查看更新后的问题。
-
好多了!我会给出答案的。
-
请查看 UPDATE 2 我已经修复了很多问题,但还有一些问题仍然存在,我真的很想修复它们。
标签: php mysql html-table dropdown