【发布时间】:2013-07-31 03:31:37
【问题描述】:
这是我的表单和 mysql/php 代码。
如果两个复选框都被选中,mysql 不会执行查询。 有什么方法可以让这个表单正常工作吗?
MySQL
if (isset($_POST['A']) && !empty($_POST['A'])) {
$query= "SELECT * FROM (SELECT * FROM myTable WHERE...) as A WHERE Column1='y'";
}
if (isset($_POST['B']) && !empty($_POST['B'])) {
$query= "SELECT * FROM (SELECT * FROM myTable WHERE...) as B WHERE Column2='y'";
}
表格
<form id="myform1" class="myform1" method="post" name="myform1">
<input type="checkbox" name="A[]" id="A" value="y" />
<input type="checkbox" name="B[]" id="B" value="y" />
<input id="submit" type="submit" name="submit" value="Submit"
onclick="return submitForm1()" />
</form>
任何帮助表示赞赏。谢谢
【问题讨论】:
-
您意识到您需要检查
$_POST['A'][0]的值,因为您在输入名称中使用了数组访问符号A[]?您可能应该删除它,只需调用输入字段A和B,因为我看不出您需要如何将其设为数组。碰巧这在您的情况下并不重要,因为您实际上并没有在任何地方使用输入的值。只是想指出他的意思是,在您确实需要这样一个值的未来情况下,这可能会导致混淆。 -
你能显示完整的代码吗?您实际上是在条件中查询数据库但只是没有显示它,还是 MySQL 查询实际上是在两个条件都执行后使用
$query进行的(在这种情况下,只会运行来自最后一个成功条件的查询)? -
嗨@Mark 谢谢你的评论。感谢您的建议,但 var_dump 返回值已正确解析。我的问题是如何联合这两个查询
-
很难说没有看到完整的查询。我不确定是否真的需要联合,但不知道,因为您没有显示子选择。老实说,我什至不知道您是否需要子选择。
-
好的,我会尽快发布所有查询
标签: mysql select if-statement union