我正在用俚语制作拼写检查应用程序。如果复选框被选中,代码将搜索 english_table 和 slang_table。否则它只会在 english_table 上搜索。我试过使用 if 语句,但它似乎是错误的。$sql = "SELECT * FROM english_table WHERE engwords LIKE '".$partcheck."'";$sql1 = "SELECT * FROM slang_table WHERE words LIKE '".$partcheck."'"; if statement if checkedif($result = mysqli_query($con, $sql){...}elseif($result = mysqli_query($con, $sql1){...}我的期望是,如果选中该复选框,代码将从两个表中搜索匹配的单词,否则只会在 english_table 上搜索。我该怎么做呢?
2 回答
jeck猫
TA贡献1909条经验 获得超7个赞
您可以有条件地运行 Union ALL:
$likePartcheck = '%' . $partcheck . '%';
$query = "SELECT * from english_table WHERE engwords LIKE ?" . ($_GET['checkbox'] ? " UNION ALL SELECT * FROM slang_table WHERE words LIKE ?" : "");
$stmt = $mysqli->prepare($query);
if ($_GET['checkbox']) {
$stmt->bind_param('ss', $likePartcheck, $likePartcheck);
} else {
$stmt->bind_param('s', $likePartcheck);
}
$stmt->execute();
或者,如果您希望将结果分开,只需运行两个查询并根据需要组合结果。
- 2 回答
- 0 关注
- 135 浏览
添加回答
举报
0/150
提交
取消