<tr>
<td>Search Role :</td>
<td>
<input type="text" id="txtsearchrole" name="txtsearchrole" value="" class="box required"/>
</td>
<td>Role Id :</td>
<td>
<input type="text" name="roleid" class="box required"/>
</td>
</tr>
这是我的选择语句
function RetrieveRole(){
global $dbh;
//$stmt = $dbh->prepare("SELECT * FROM rolelist WHERE rolelist_id IN (1,2) ");
if (!empty($_GET['rolename'])) {
$stmt = $dbh->prepare("SELECT * FROM rolelist WHERE role_name LIKE ?") ;
$stmt->bindValue(1,"%".$_GET['rolename']."%");
if($stmt->execute()){
if($stmt -> rowCount() >0){
$role_name = array();
while ($selected_row = $stmt->fetch(PDO::FETCH_ASSOC)){
$role_name[] = array('rolename' => $selected_row['role_name'],'roleid' => $selected_row['rolelist_id']);
}
return $role_name;
}else{
echo "<script type='text/javascript'>alert('No Role found');
window.location='../pages/dashboard.php';
</script>";
exit;
}
}
}else{
echo "<script type='text/javascript'>alert('Search Role Name is Blank');
window.location='../pages/dashboard.php';
</script>";
exit;
}
}
这是我用来使用角色名称搜索或选择查询的代码 我能够有效地使其工作 我现在得到结果 我在其中添加了 Role Id
以便用户可以搜索使用名称或角色 ID 我正在搜索如何使这成为可能但不幸的是我找不到这个问题的确切答案如果有人有来源或建议请这样做我感谢任何建议或想法
最佳答案
首先你必须改变if语句
if (isset($_GET['txtsearchrole']) || isset($_GET['roleid'])) {
那么您必须更改您的查询以包括对角色 ID 的搜索:
$stmt = $dbh->prepare("SELECT * FROM rolelist WHERE role_name LIKE ? OR role_id = ?") ;
然后更改您的绑定(bind)参数部分:
$stmt->execute(array($_GET['txtsearchrole'], $_GET['roleid']));
关于php - 2 在 php pdo 中查询的可能值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26481327/