为了账号安全,请及时绑定邮箱和手机立即绑定

我如何在 javascript 中的 mysql 中做类似的事情?

我如何在 javascript 中的 mysql 中做类似的事情?

PHP
慕雪6442864 2021-07-12 17:39:21
我想检查用户的专业知识并显示他们的网络图。我想使用 LIKE 的原因是因为在 mysql 数据库中,专业知识属性也包含在他们的工作场所中。例如:Petronas 的数据分析师。所以我想检查他们的专长是否是数据分析师并显示他们的网络图。这是我试过的代码:<?phpif (isset($_GET['id'])) {    $id = $_GET['id'];    $sql = "SELECT * FROM professional, job, location WHERE PROFESSIONAL_ID LIKE '%$id%' AND PROFESSIONAL_ID=JOB_ID AND JOB_ID = LOCATION_ID " ;    $result = mysqli_query($conn, $sql);    $row = mysqli_fetch_assoc($result);    echo "                <div class='card'>                <img src='../images/img.png' style='width:100%'>                <h2>".$row['PROFESSIONAL_NAME']."</h2>                <p class='title'><i class='fa fa-briefcase' aria-hidden='true'></i> ".$row['JOB_NAME']."</p>                <p class='marker'><i class='fa fa-map-marker' aria-hidden='true'></i> ".$row['LOCATION_NAME']."</p>                <a href=".$row['PROFESSIONAL_URL']."><p><button>Contact</button></p></a>              </div>              <div class='network'>               <h2> Filter Network</h2>              </div>              <div class='filter'>        <input type='radio' value='Expertise' unchecked name='radioBtn' onclick='checkexpertise(".$row['JOB_NAME'].")'> <label> Expertise</label><br>        <input type='radio' value='Location' unchecked name='radioBtn' onclick='checklocation(".$row['LOCATION_NAME'].")'> <label> Location</label><br>        <input type='radio' value='Workplace' unchecked name='radioBtn' onclick='checkworkplace()'> <label> Workplace </label><br>        <input type='radio' value='Past Workplace' unchecked name='radioBtn' onclick='checkpast()'> <label>Past Workplace</label><br>      </div>";}?><script>      function CheckExpertise (Expertise) {        if Expertise LIKE %Data Analyst% OR %data analyst%        {          window.location.replace("expertise.html");          }      }      </script>
查看完整描述

2 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

您可以使用includes并且我建议将字符串转换为全部小写,然后进行检查,这样您只需进行一次检查。


function CheckExpertise (Expertise) {

    if (Expertise.toLowerCase.includes("data analyst") {

        window.location.replace("expertise.html");

    }

}


查看完整回答
反对 回复 2021-07-16
?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

您可以为此使用正则表达式:


if (/.*data analyst.*/i.test(Expertise)) {

  window.location.replace("expertise.html");

}

但是请看一下 mysqli 准备好的语句和输出清理(例如使用 htmlentities)。用户可以将任何内容作为“id”发送,包括您可能不想执行的精心制作的 SQL 查询;)


$id = $_GET['id'];

$query = mysqli_prepare($conn, "SELECT * FROM professional, job, location WHERE PROFESSIONAL_ID LIKE ? AND PROFESSIONAL_ID=JOB_ID AND JOB_ID = LOCATION_ID " ;

mysqli_bind_param($query, "s", "%{$id}%");

mysqli_stmt_execute($query);

$result = mysqli_stmt_get_result($query);


查看完整回答
反对 回复 2021-07-16
  • 2 回答
  • 0 关注
  • 162 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信