think PHP提取字符串中的数字,并到数据库中使用in查询所关联表的字段值

    /*
     * 提取数字并去数据库取得相应的分类名
     * $strs 需要处理的字符串
     * $table 数据表名
     * $condition   条件字段
     * $field 获取的字段
     */
    public function extractNumberGetName($strs,$table,$condition,$field){
        if(empty($strs)){
            return ‘‘;
        }
        $patterns = "/\d+/";
        preg_match_all($patterns,$strs,$arr);
        if(empty($arr[0])){
            return ‘‘;
        }
        $map[$condition] = array (‘in‘,$arr[0]);
        $model = D($table);
        $result = $model->field($field)->where($map)->select();

        $str = ‘‘;
        $i = 0;
        foreach ($result as $key => $item) {
            if($i == 0 ){
                $str .= $item[$field];
            }else{
                $str .= ‘,‘.$item[$field];
            }
            $i++;
        }
        return $str;
    }

原文地址:https://www.cnblogs.com/hardykay/p/10820808.html

时间: 2024-08-04 02:21:30

think PHP提取字符串中的数字,并到数据库中使用in查询所关联表的字段值的相关文章

使用Java正则表达式提取字符串末尾的数字一例

直接上代码: String reg = "\\D+(\\d+)$"; //提取字符串末尾的数字:封妖塔守卫71 == >> 71 String s = monster.getMonsterName(); Pattern p2 = Pattern.compile(reg); Matcher m2 = p2.matcher(s); int historyHighestLevel = 1; if(m2.find()){ historyHighestLevel = Integer.

使用SqlBulkCopy将DataTable中的数据批量插入数据库中

#region 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 /// <summary> /// 注意:DataTable中的列需要与数据库表中的列完全一致. /// </summary> /// <param name="conStr">数据库连接串</param> /// <param name="strTableName">数据库中对应的表名</param> //

把excel中的数据导入到数据库中的通用方法

方法/步骤 对于把大量数据存放到数据库中,最好是用图形化数据库管理工具,可是如果没有了工具,只能执行命令的话这会是很费时间的事.那我们只能对数据进行组合,把数据组成insert语句然后在命令行中批量直行即可.   我们对下面数据进行组合,这用到excel中的一个功能. 在excel中有个fx的输入框,在这里把组好的字符串填上去就好了. 注:字符串1 & A2 &字符串2 & ... A2可以直接输入,也可以用鼠标点对应的单元格.   每个字符串之间用 & 符号进行连接.下面

使用Sqoop,最终导入到hive中的数据和原数据库中数据不一致解决办法

Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中. 1.问题背景 使用Sqoop把oracle数据库中的一张表,这里假定为student,当中的数据导入到hdfs中,然后再创建hive的external表,location到刚才保存到hdfs中数

excel表格中的数据如何放到数据库中(非导入)

平时经常用到excel中的数据,想比较两个excel数据的关联性,数据太多,所以放到数据库中,用脚本查询就会比较方便.这里说一下怎么放到数据库中并查询对比. 这里以PL/SQL为例. 需求:有两张表,其中每个表中有一列与另一表的列相同,如何让他们一一对应.如图两个excel 第二张 红框内的数据为相等的数据,现在想查看一一对应关系 方法是: 1.在数据库中建表asad_t1 对应excel1,并多出一个字段,表2asad_t2对应excel2 2.将excel1中数据复制,在plsql中执行se

laravel5.4将excel表格中的信息导入到数据库中

1.首先在得有需要导入的文件,这个过程可以利用laravel中的文件上传功能完成, 详情可以参考laravel文档http://laravelacademy.org/post/6885.htm,这里不再多说文件上传 2.假定现在要导入到数据库的表格在 storage下面的test.xls public function daoru() { $filePath = 'storage/' . iconv('UTF-8', 'GBK', 'test') . '.xls'; $ret = []; Exc

将备份中的数据插入到数据库中的具体步骤

问题:删除用户数据库中的数据时,把用户数据库中的一些数据误删除了,现在需要将已删除的那些数据插入到目前用户现在正在是用的数据库中(已做好数据备份bak文件) 首先将备份文件还原到本地数据库,还原成功. 在目标表中查找到我们所需要插入的数据: SELECT * FROM  dbo.Remarks  WHERE DATEDIFF (DAYOFYEAR, CreateTime,getdate ())<90 AND tag is NULL 继续进行下一步操作,将所查找到的那些需要插入到数据库中的的数据添

?ECharts中BasicLine图+将mysql数据库中的方式通过echarts可视化

ECharts官网示例: 1 option = { 2 xAxis: { 3 type: 'category', 4 data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] 5 }, 6 yAxis: { 7 type: 'value' 8 }, 9 series: [{ 10 data: [820, 932, 901, 934, 1290, 1330, 1320], 11 type: 'line' 12 }] 13 }; View Cod

Swing中使用JTable动态获取数据库中的数据并显示

笔者注:本文供新手学习使用,若有一定基础,可以直接看3! 1.创建数据库: /* Navicat MySQL Data Transfer Source Server : aa Source Server Version : 50519 Source Host : localhost:3306 Source Database : test Target Server Type : MYSQL Target Server Version : 50519 File Encoding : 65001 D