- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的网站上添加高级搜索功能。
目前,一切正常,除了我必须比较同一列中的多个值的那一刻
例如,我希望取回所有同时属于神秘客户和调查员类型的候选人。
所以我第一次在mysql接口(interface)中执行这个查询来检查是否收集了所有内容,但只考虑第一个条件,我只返回神秘客户类型的候选者:
SELECT * FROM candidacies WHERE candidacyType LIKE "%mysteryCustomer%" AND candidacyType LIKE "%investigators%";
所以我做了一些研究,发现了 IN 运算符。我用这个运算符修改我的查询。问题是这个错误被发送回给我:
PHP message: PHP Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE zipcode IN ("East") LIMIT ?, ?' at line 1 in /xxx/xxx/xxx/search.php:106
$('.advancedSearchingContent').on('click', function()
{
var data = [];
var index = "";
$('input:checked').each(function(element)
{
//index += $(this).closest('div').attr('id');
data.push($(this).val());
});
var nb_per_page = $('.entriesData').val();
var search = $('#searchContent').val();
var page = 1;
var sort = $('.sortList').val();
var zipcode = data;
loadContent(nb_per_page, search, page, sort, zipcode);
});
function loadContent(nb_per_page, search, page, sort, zipcode)
{
var p = {};
p['nb_per_page'] = nb_per_page;
p['search'] = search;
p['page'] = page;
p['sort'] = sort;
p['zipcode'] = zipcode;
$.post("search.php", p, function(data)
{
$("#result").html(data);
});
}
.sidenav
{
height: 100%;
width: 0;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: #778899;
overflow-x: hidden;
transition: 0.5s;
padding-top: 60px;
}
.sidenav a
{
padding: 8px 8px 8px 32px;
text-decoration: none;
font-size: 25px;
color: #818181;
display: block;
transition: 0.3s;
}
.sidenav a:hover
{
color: #f1f1f1;
}
.sidenav .closebtn
{
position: absolute;
top: 0;
right: 25px;
font-size: 36px;
margin-left: 50px;
}
@media screen and (max-height: 450px)
{
.sidenav
{
padding-top: 15px;
}
.sidenav a
{
font-size: 18px;
}
}
.sidenav > div > label
{
font-size: 20px;
width: 100%;
}
.sidenav > div > input
{
width: 100%;
}
.advancedSearchingContent:hover
{
background-color: white;
}
.sidenav > div
{
width: 300px;
margin-left: 10px;
}
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
</head>
<body>
<div class="form-group">
<div class="input-group">
<input type="text" name="searchContent" id="searchContent" placeholder="Search a candidacy" class="form-control" />
<button class="btn btn-outline-success my-2 my-sm-0 searchContent" title="Search"><i class="fa fa-search"></i></button>
<button class="btn btn-outline-info resetContent" title="Reset content"><i class="fas fa-sync-alt" id="iconReset"></i>
</button>
<button class="btn btn-outline-secondary advancedSearching" title="advanced Search"><i class="fas fa-search-plus" id="iconAdvancedSearching"></i></button>
</div>
</div>
<section class="dropdownList">
<label>Display</label>
<div class="dropdownEntries">
<select name="entriesData" class="entriesData">
<option value="5" selected>5</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="50">50</option>
<option value="100">100</option>
</select>
</div>
<label>results</label>
</section>
<section class="dropdownSortList">
<label>Sort by</label>
<div class="sortEntries">
<select name="sortList" class="sortList">
<option value="lastName" selected>lastName</option>
<option value="firstName">firstName</option>
<option value="birthday">Âge</option>
<option value="zipcode">zipcode</option>
<option value="scheduleRange">scheduleRange</option>
<option value="phoneNumber">phoneNumber</option>
<option value="email">Email</option>
<option value="candidacyType">candidacyType</option>
</select>
</div>
</section>
<div id="result">
<?php include('search.php');?>
</div>
<div id="zipContent"></div>
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn">×</a>
<div class="row" id="zipcode">
<label for="advancedSearchingZipcode">zipcode : </label>
<input type="checkbox" name="advancedSearchingZipcode[]" value="North">North
<input type="checkbox" name="advancedSearchingZipcode[]" value="South">South
<input type="checkbox" name="advancedSearchingZipcode[]" value="West">West
<input type="checkbox" name="advancedSearchingZipcode[]" value="East">East
</div>
<div class="row" id="age">
<label for="advancedSearchingAge">Âge between :</label>
<input type="text" name="advancedSearchingAge[]">
<label for="advancedSearchingAge">And : </label>
<input type="text" name="advancedSearchingAge[]">
</div>
<div class="row" id="scheduleRange">
<label for="advancedSearchingScheduleRange">Schedule Range between: </label>
<input type="text" name="advancedSearchingScheduleRange[]" id="advancedSearchingScheduleRange">
<label for="advancedSearchingScheduleRange">And :</label>
<input type="text" name="advancedSearchingScheduleRange[]" id="advancedSearchingScheduleRange2">
</div>
<div class="row" id="candidacyType">
<label for="candidacyType">candidacyType :</label>
<input type="checkbox" name="advancedSearchingCandidacyType[]" value="mysteryCustomer">mysteryCustomer
<input type="checkbox" name="advancedSearchingCandidacyType[]" value="investigationUnit">investigationUnit
<input type="checkbox" name="advancedSearchingCandidacyType[]" value="investigators">investigators
</div>
<div class="row">
<button class="btn btn-outline-success my-2 my-sm-0 advancedSearchingContent" title="Search"><i class="fa fa-search"></i></button>
</div>
</div>
</body>
<?php
require('config/config.php');
if(!isset($_SESSION))
{
session_start();
}
if(isset($_SESSION['flash']))
{
foreach($_SESSION['flash'] as $type => $message)
{
echo $message;
}
unset($_SESSION['flash']);
}
$nb_per_page = !empty($_POST['nb_per_page']) ? $_POST['nb_per_page'] : 5;
$search = !empty($_POST['search']) ? $_POST['search'] : "";
$p = !empty($_POST['page']) ? $_POST['page'] : 1;
$sort = !empty($_POST['sort']) ? $_POST['sort'] : "lastName";
$zipcode = !empty($_POST['zipcode']) ? $_POST['zipcode'] : "";
$output = "";
$result = getList($nb_per_page, $search, $p, $sort, $zipcode, $cnx);
showList($result['list']);
pagination($result['nb_pages'], $p);
function getList($nb_per_page, $search, $p, $sort, $zipcode, $cnx)
{
$nb_per_page = intval($nb_per_page);
$start = intval(($p-1) * $nb_per_page);
$where = "";
if($search != "")
{
$where .= "WHERE lastName LIKE '%".$search."%' OR firstName LIKE '%".$search."%' OR birthday LIKE '%".$search."%' OR zipcode LIKE '%".$search."%' OR scheduleRange LIKE '%".$search."%' OR phoneNumber LIKE '%".$search."%' OR email LIKE '%".$search."%' OR candidacyType LIKE '%".$search."%'";
}
if($sort != "")
{
$order .= "ORDER BY ".$sort." ";
}
if($zipcode != "")
{
if($where != "")
{
$checkbox .= "AND zipcode IN (\"".$zipcode."\")";
}
else
{
$checkbox .= "WHERE zipcode IN (\"".$zipcode[0]."\")";
}
}
$query = $cnx->prepare("SELECT * FROM candidacies ".$where.$order.$checkbox." LIMIT :start, :nb_per_page");
$query->bindValue(':start', $start, PDO::PARAM_INT);
$query->bindValue(':nb_per_page', $nb_per_page, PDO::PARAM_INT);
$query->execute();
$list = $query->fetchAll(PDO::FETCH_ASSOC);
$query = $cnx->prepare('SELECT COUNT(id) AS totalResults FROM candidacies '.$where.' ');
$query->execute();
$result = $query->fetch(PDO::FETCH_OBJ);
$nb = $result->totalResults;
$nb_pages = ceil($nb / $nb_per_page);
if($nb_pages < 1)
{
$nb_pages = 1;
}
return array(
"list" => $list,
"nb" => $nb,
"nb_pages" => $nb_pages
);
}
function showList($list)
{
$output = "";
if(sizeof($list) > 0)
{
$output .= '
<table class="table table-striped" id="candidaciesTable">
<thead class="thead-light">
<tr>
<th scope="col">lastName</th>
<th scope="col">firstName</th>
<th scope="col">Âge</th>
<th scope="col">Zipcode</th>
<th scope="col">Schedule Range</th>
<th scope="col">phoneNumber</th>
<th scope="col">Email</th>
<th scope="col">TcandidacyType</th>
<th scope="col">Action</th>
</tr>
</thead>
<tbody>
';
foreach($list as $key => $value)
{
$currentDate = date("Y");
$currentBirthday = substr($value['birthday'], 0, 4);
$birthday = $currentDate - $currentBirthday;
$output .= "
<tr>
<td>".htmlspecialchars($value["lastName"])."</td>
<td>".htmlspecialchars($value["firstName"])."</td>
<td>".htmlspecialchars($birthday)."</td>
<td>".htmlspecialchars($sort["zipcode"])."</td>
<td>".htmlspecialchars($value["scheduleRange"])."</td>
<td>".htmlspecialchars($value["phoneNumber"])."</td>
<td>".htmlspecialchars($value["email"])."</td>
<td>".htmlspecialchars($search["candidacyType"])."</td>
<td>
<div class='btn-group'>
<button class='btn btn-light btnViewCandidacy' id=".$value['id'].">
<i class='far fa-eye'></i>
</button>
<button class='btn btn-info' id='btnEditCandidacy' onclick='editCandidacy(".$value['id'].")'>
<i class='far fa-edit'></i>
</button>
<button class='btn btn-danger' id='btnDeleteCandidacy' onclick='deleteCandidacy(".$value['id'].")'>
<i class='far fa-trash-alt'></i>
</button>
<button class='btn btn-secondary' id='btnZipContent' onclick='zipExtract(".$value['id'].")'>
<i class='fas fa-file-archive'></i>
</button>
</div>
</td>
</tr>
";
}
$output .= "
</tbody>
</table>";
$output .= '
<div class="modal" tabindex="-1" role="dialog" id="candidacyModal">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Candidature</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body" id="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>';
$output .= '
<div class="modal" tabindex="-1" role="dialog" id="deleteCandidacyModal">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Candidature</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-bodyCandidacy">
<p></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="confirmDeletion">Supprimer</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>';
/*$output .= "
<div class='modal' tabindex='-1' role='dialog' id='advancedSearchingModal'>
<div class='modal-dialog' role='document'>
<div class='modal-content'>
<div class='modal-header'>
<h5 class='modal-titleadvancedSearching'>Recherche avancée</h5>
<button type='button' class='close' data-dismiss='modal' aria-label='Close'>
<span aria-hidden='true'>×</span>
</button>
</div>
<div class='modal-body' id='modal-bodyadvancedSearching'>
</div>
<div class='modal-footer'>
<button type='button' class='btn btn-secondary' data-dismiss='modal'>Close</button>
</div>
</div>
</div>
</div>";*/
}
else
{
$output .= "<div class='alert alert-info' style='margin-top: 20px'>No results found !</div>";
}
echo $output;
}
function pagination($nb_pages, $page)
{
$output = "";
$output .= "<div class='pagination-centered'>";
for($i = 1; $i <= $nb_pages; $i++)
{
$class = "";
if($page == $i){
$class = "active";
}
$output .= '<span class="paginationLink '.$class.'" id="'.$i.'">'.$i.'</span>';
}
$output .= "</div>";
echo $output;
}
?>
<script>
$(document).ready(function()
{
$('.btnViewCandidacy').on('click', function ()
{
var candidacyId = $(this).attr('id');
$.ajax({
url:"viewCandidacy.php",
method:"get",
data:{candidacy:candidacyId},
success:function(data)
{
$('#modal-body').html(data);
$('#candidacyModal').modal("show");
}
});
});
$('.paginationLink').on('click', function()
{
var page = $(this).attr('id');
var nb_per_page = $('.entriesData').val();
var search = $('#searchContent').val();
var sort = $('.sortList').val();
//loadPagination(page);
loadContent(nb_per_page, search, page, sort);
});
$('#candidacyModal').on('shown.bs.modal', function()
{
var urlCoveringLetter = $('#handleCoveringLetter').attr('href');
var urlCurriculumVitae = $('#handleCurriculumVitae').attr('href');
if(urlCoveringLetter)
{
}
else
{
$('#handleCoveringLetter').css('color', 'red');
}
if(urlCurriculumVitae)
{
}
else
{
$('#handleCurriculumVitae').css('color', 'red');
}
});
});
</script>
最佳答案
您的问题在这一行:
$query = $cnx->prepare("SELECT * FROM candidacies ".$where.$order.$checkbox." LIMIT :start, :nb_per_page");
$order
是一个 ORDER BY
子句,$checkbox
是一个 WHERE
子句,其中 必须位于任何ORDER BY
子句之前。将该行更改为此,它应该可以正常工作。
$query = $cnx->prepare("SELECT * FROM candidacies ".$where.$checkbox.$order." LIMIT :start, :nb_per_page");
关于php - MYSQL比较同一列中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52963167/
目前我正在构建相当大的网络系统,我需要强大的 SQL 数据库解决方案。我选择 Mysql 而不是 Postgres,因为一些任务需要只读(MyISAM 引擎)而其他任务需要大量写入(InnoDB)。
我在 mysql 中使用如下命令。当它显示表格数据时,它被格式化为一个非常干净的表格,间距均匀且 |作为列分隔符。 SELECT * FROM TABLE_NAME; 当我从 CLI 运行命令时,如下
我知道这个问题之前已经被问过好几次了,我已经解决了很多问题,但到目前为止没有任何效果。 MySQL 试图将自身安装到的目录 (usr/local/mysql) 肯定有问题。关于我的错误的奇怪之处在于我
以下是我的 SQL 数据结构,我正在尝试如下两个查询: Select Wrk_ID, Wrk_LastName, Skill_Desc from Worker, Skill where
我们有一个本地 mysql 服务器(不在公共(public)域上),并希望将该服务器复制到我们拥有的 google 云 sql 实例。我的问题是:1.这可能吗?2.我们的本地服务器只能在本地网络上访问
我有一个表(test_table),其中一些字段值(例如字段 A、B 和 C)是从外部应用程序插入的,还有一个字段(字段 D),我想从现有表(store_table)插入其值,但在插入前者(A、B 和
我想创建一个 AWS RDS 实例,然后使用 terraform 管理数据库用户。因此,首先,我创建了一个 RDS 实例,然后使用创建的 RDS 实例初始化 mysql 提供程序,以进一步将其用于用户
当用户在我的网站上注册时,他们会在我的一个数据库中创建自己的表格。该表存储用户发布的所有帖子。我还想做的是也为他们生成自己的 MySql 用户——该用户仅有权从他们的表中读取、写入和删除。 创建它应该
我有一个关于 ColdFusion 和 Mysql 的问题。我有两个表:PRODUCT 和 PRODUCT_CAT。我想列出包含一些标记为:IS_EXTRANET=1 的特殊产品的类别。所以我写了这个
我想获取 recipes_id 列的值,以获取包含 ingredient_id 的 2,17 和 26 条目的值。 假设 ingredient_id 2 丢失则不获取记录。 我已经尝试过 IN 运算符
在 Ubuntu 中,我通常安装两者,但 MySQL 的客户端和服务器之间有什么区别。 作为奖励,当一个新语句提到它需要 MySQL 5.x 时,它是指客户端、服务器还是两者兼而有之。例如这个链接ht
我重新访问了我的数据库并注意到我有一些 INT 类型的主键。 这还不够独特,所以我想我会有一个指导。 我来自微软 sql 背景,在 ssms 中你可以 选择类型为“uniqeidentifier”并自
我的系统上有 MySQL,我正在尝试确定它是 Oracle MySQL 还是 MySQL。 Oracle MySQL 有区别吗: http://www.oracle.com/us/products/m
我是在生产 MySQL 中运行的应用程序的新维护者。之前的维护者已经离开,留下的文档很少,而且联系不上了。 我面临的问题是执行以下请求大约需要 10 秒: SELECT COUNT(*) FROM `
我有两个位于不同机器上的 MySQL 数据库。我想自动将数据从一台服务器传输到另一台服务器。比方说,我希望每天早上 4:00 进行数据传输。 可以吗?是否有任何 MySQL 内置功能可以让我们做到这一
有什么方法可以使用 jdbc 查询位于 mysql 根目录之外的目录中的 mysql 表,还是必须将它们移动到 mysql 根目录内的数据库文件夹中?我在 Google 上搜索时没有找到任何东西。 最
我在 mysql 数据库中有两个表。成员和 ClassNumbers。两个表都有一个付费年份字段,都有一个代码字段。我想用代码数字表中的值更新成员表中的付费年份,其中成员中的代码与 ClassNumb
情况:我有 2 台服务器,其中一台当前托管一个实时 WordPress 站点,我希望能够将该站点转移到另一台服务器,以防第一台服务器出现故障。传输源文件很容易;传输数据库是我需要弄清楚如何做的。两台服
Phpmyadmin 有一个功能是“复制数据库到”..有没有mysql查询来写这个函数?类似于将 db A 复制到新的 db B。 最佳答案 首先创建复制数据库: CREATE DATABASE du
我有一个使用 mySQL 作为后端的库存软件。我已经在我的计算机上对其进行了测试,并且运行良好。 当我在计算机上安装我的软件时,我必须执行以下步骤: 安装 mySQL 服务器 将用户名指定为“root
我是一名优秀的程序员,十分优秀!