如何筛选数据库结果,仅显示当前登录用户发布的职位?
实现仅显示当前用户发布职位的筛选功能
要实现仅展示当前登录用户发布的职位,只需在解析并渲染JSON数据的阶段添加ID匹配判断即可,具体实现如下:
核心修改逻辑
在遍历Airtable返回的职位记录时,先对比每条职位的createdByID与当前用户的userID,仅当二者匹配时才生成对应的HTML表格行并插入页面。
修改后的关键代码
找到代码中$.getJSON内的$.each遍历部分,添加ID匹配判断:
$(function() { var records = []; $.getJSON('https://v1.nocodeapi.com/devmarq/airtable/zUIqzVWzLWAiqEpd?tableName=JobListings&fields=company,role,jobID,createdByID,jobType,experience,jobLocation,roleDescription,qualifications,logo,dateCreated&view=AllListings', function(data) { $.each(data.records, function parseJSON(i, { fields: f }) { // 新增:仅渲染当前用户发布的职位 if (f.createdByID === userID) { var tblRow = "<tr>" + "<td style='padding-top: 1%; padding-bottom: 1%;'>" + "<div>" + "<a href='jobtest.html?jobID=" + f.jobID + "'>" + "<div class='jobListBG' style='border: 1px solid #e2e2e2; border-radius: 15px; padding-top: 1%; padding-bottom: 1%; padding-left: 1%; padding-right: 1%;'>" + "<div class='jobListCard1' style='padding-left: 1%'>" + "<img src='" + f.logo + "' style='float: left; width: 80px; height: 80px; object-fit:cover; border-radius: 100px;'/>" + "<div class='jobListCard2'>" + "<span style='font-size: x-large'>" + f.role + "</span>" + "<br>" + "<span style='color: #2b2b2b;'>" + f.company + " <span class='iconify-inline' data-icon='material-symbols:verified-outline-rounded' style='color: red; font-size: 20px;'></span></span>" + " " + "<span style='color: #2b2b2b;'><span class='iconify-inline' data-icon='ph:users-three' style='color: #474747; font-size: 20px;'></span> 901-1000</span>" + " " + "<span style='color: #2b2b2b;'><span class='iconify-inline' data-icon='bx:dollar' style='color: #474747; font-size: 20px;'></span>50k-80k+</span>" + "</div>" + "<p class='jobListCard2' style='float: right; padding-right: 2%; font-size: medium;'>" + f.dateCreated + "</p>" + "</div>" + "<div style='padding-left: 11%;''>" + "<span style='color: black; font-weight: 700;'><span class='iconify-inline' data-icon='eva:pin-outline' style='color: #000000'></span> " + f.jobLocation + "</span>" + " " + "<span style='color: white; background-color: red; padding-top: 0.6%; padding-bottom: 0.4%; padding-left: 1.5%; padding-right: 1.5%; border-radius: 15px'>" + f.jobType + "</span>" + " " + "<span style='color: rgb(255, 255, 255); background-color: #6188ff; padding-top: 0.6%; padding-bottom: 0.4%; padding-left: 1.5%; padding-right: 1.5%; border-radius: 15px'>" + f.experience + "</span>" + "</div>" + "</div>" + "</a>" + "</div>" + "</td>" + "</tr>"; $(tblRow).appendTo("#userdata tbody"); } }); }); });
额外说明
- 代码中
userID为硬编码值,实际项目中应从用户登录状态获取(例如localStorage.getItem('userID')或后端接口返回的当前用户信息)。 - 原有的搜索筛选功能不受影响,它只会对已渲染的当前用户职位进行过滤。
内容的提问来源于stack exchange,提问作者DevMatt
相关产品推荐
相关产品推荐

