Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 字段值上的MySQL通配符?_Php_Mysql_Filter_Wildcard - Fatal编程技术网

Php 字段值上的MySQL通配符?

Php 字段值上的MySQL通配符?,php,mysql,filter,wildcard,Php,Mysql,Filter,Wildcard,我正在尝试构建一个简单的系统,用于在将某些值输出到用户文件之前对其进行转换。假设我有文本:“Method(aaaabbbccc-random text)”,我试图让用户将其转换为他们想要的任何内容。我已经为转换建立了一个表,在这个表中,用户将输入say'Method*'=>'Description',这基本上意味着他们希望文本“Method”后跟任何(*=通配符)被简单地翻译成“Description”(或他们想要的任何其他文本) 如果我有一些信息: Method (aaaabbbccc -

我正在尝试构建一个简单的系统,用于在将某些值输出到用户文件之前对其进行转换。假设我有文本:“Method(aaaabbbccc-random text)”,我试图让用户将其转换为他们想要的任何内容。我已经为转换建立了一个表,在这个表中,用户将输入say'Method*'=>'Description',这基本上意味着他们希望文本“Method”后跟任何(*=通配符)被简单地翻译成“Description”(或他们想要的任何其他文本)

如果我有一些信息:

 Method (aaaabbbccc - random text)
 Method 2 (test - text)
 Method3
这应该转化为

Description
Description
Method3
由于最后一行不满足用户定义的过滤器,因此它不会被转换

我认为实现这一点的最简单方法是对每行执行查询:

SELECT new_text FROM table WHERE old_text LIKE 'Method 2 (test - text)' etc.
但是由于旧的_文本是“Method*”,所以需要将*转换为通配符,MySQL在执行搜索时需要处理这个问题。我尝试的每个组合(甚至将旧的_文本存储为'Method%')似乎都不起作用

希望有人能为构建这样一个系统提供一些指导,在这个系统中,用户可以定义过滤器,然后让MySQL对这些过滤器进行操作。

是在MySQL/(使用phpmyadmin)中完成的。这是最终的输出屏幕(希望您能理解意大利语):

Visualizazione记录0-1(总计2条,查询时间为0.0010秒)

选择* 从
tabl
其中类似于“方法%”的txt

id文本

        1   Method 2 (test - text)

        2   method (aaaabbbccc - random text)

好吧?我想你需要这样的东西:

SELECT CASE WHEN old_text LIKE REPLACE(user_entry, '*', '%')
            THEN new_text
            ELSE old_text
       END AS modified_text 
FROM table 
其中:
旧文本
方法(aaaabbbccc-随机文本)

user\u条目
“方法*”


new\u text
'Description'

很难理解您想做什么,我认为您不希望用户编写查询