dpw70180 2015-01-24 04:39
浏览 78

MySQL LIKE关键字多列但查询了哪个列?

I have two scripts below. The first script only searches one Column for a user-typed keyword, then it will display the results as a list and make BOLD the characters the user typed. That script works great.

The second script is something I modified to search multiple columns. It searches just fine. The problem is that I cannot get the BOLD (or make STRONG) if the searched value came from the other columns. How do I determine if the searched value came for Column 1, Column 2, Column 3, etc...? If the searched value came from column "DESCRIP" then I want to make the letter bold in the listed value.

First Script:

<?php
   require_once("../config.php");
   $keyword = '%'.$_POST['keyword'].'%';
   $rootval = $_POST['rval'];
   $sql = "SELECT `ID`,`MUNTERS_PN`,`DESCRIP`, `IMG_PATH`, `MANUF`, `MANUF_PN` FROM `electrical_parts` WHERE `MUNTERS_PN` LIKE (:keyword) ORDER BY `MUNTERS_PN` ASC LIMIT 0, 5";
   $query = $db_qms->prepare($sql);
   $query->bindParam(':keyword', $keyword, PDO::PARAM_STR);
   $query->execute();
   $list = $query->fetchAll();
   foreach ($list as $rs) {

          // put in bold the written text
      $partnum = str_replace($_POST['keyword'], '<span style="font-weight:700;font-size:14px;">'.$_POST['keyword'].'</span>', $rs['MUNTERS_PN']);

          // add new option
      echo '<li class="set_part"  data-val="' . $rs['ID'] . '"><a href="' . $rootval . 'pages/show_part.php?t=electrical_parts&p=' . $rs['ID'] . '" class="part_link"><img src="' . $rootval . '../parts/' . $rs['IMG_PATH'] . '" width="100px;" style="padding-right:15px;">'.$partnum.'<span style="font-style:italic;font-size:13px;padding-left:10px;">[' . $rs['MANUF'] . ': ' . $rs['MANUF_PN'] . '] <br/>' . $rs['DESCRIP'] . '</span></a></li>';

   }
?>

Second Script:

<?php
   require_once("../config.php");
   $keyword = '%'.$_POST['keyword'].'%';
   $rootval = $_POST['rval'];
   $sql = "SELECT `ID`,`MUNTERS_PN`,`DESCRIP`, `IMG_PATH`, `MANUF`, `MANUF_PN` FROM `electrical_parts` WHERE (`MUNTERS_PN` LIKE (:keyword) OR `DESCRIP` LIKE (:keyword) OR `MANUF` LIKE (:keyword) OR `MANUF_PN` LIKE (:keyword) ) ORDER BY `MUNTERS_PN` ASC LIMIT 0, 5";
   $query = $db_qms->prepare($sql);
   $query->bindParam(':keyword', $keyword, PDO::PARAM_STR);
   $query->execute();
   $list = $query->fetchAll();
     foreach ($list as $rs) {

           /******* INSERT CODE TO DETERMINE WHICH COLUMN WAS QUERIED ******/           

            // put in bold the written text
        $partnum = str_replace($_POST['keyword'], '<span style="font-weight:700;font-size:14px;">'.$_POST['keyword'].'</span>', $rs['MUNTERS_PN']);
        $manuf = str_replace($_POST['keyword'], '<span style="font-weight:700;font-size:14px;">'.$_POST['keyword'].'</span>', $rs['MANUF']);
        $manuf_pn = str_replace($_POST['keyword'], '<span style="font-weight:700;font-size:14px;">'.$_POST['keyword'].'</span>', $rs['MANUF_PN']);
        $descrip = str_replace($_POST['keyword'], '<span style="font-weight:700;font-size:14px;">'.$_POST['keyword'].'</span>', $rs['DESCRIP']);
            // add new option
        echo '<li class="set_part"  data-val="' . $rs['ID'] . '"><a href="' . $rootval . 'pages/show_part.php?t=electrical_parts&p=' . $rs['ID'] . '" class="part_link"><img src="' . $rootval . '../parts/' . $rs['IMG_PATH'] . '" width="100px;" style="padding-right:15px;">'.$partnum.'<span style="font-style:italic;font-size:13px;padding-left:10px;">[' . $rs['MANUF'] . ': ' . $rs['MANUF_PN'] . '] <br/>' . $rs['DESCRIP'] . '</span></a></li>';
     }
?>
  • 写回答

1条回答 默认 最新

  • dongluan5740 2015-01-24 05:10
    关注

    Be careful, in the echo in the second script, you use $rs['MANUF'], $rs['MANUF_PN'] and $rs['DESCRIP'] instead of $manuf, $manuf_pn and $descrip. That is why the replacements don't appear in the output.

    So you should use :

    echo '<li class="set_part"  data-val="' . $rs['ID'] . '"><a href="' . $rootval . 'pages/show_part.php?t=electrical_parts&p=' . $rs['ID'] . '" class="part_link"><img src="' . $rootval . '../parts/' . $rs['IMG_PATH'] . '" width="100px;" style="padding-right:15px;">'.$partnum.'<span style="font-style:italic;font-size:13px;padding-left:10px;">[' . $rs['MANUF'] . ': ' . $manuf_pn . '] <br/>' . $descrip . '</span></a></li>';
    
    评论

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度