Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.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/56.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 - Fatal编程技术网

Php 在MySQL表中搜索逗号分隔的区号

Php 在MySQL表中搜索逗号分隔的区号,php,mysql,Php,Mysql,我正在尝试修改现有的脚本,该脚本将只向已分配特定区号的用户输出包含特定区号的行 例如: 用户表中名为designed_area的列将包含不同的数据,如:CM、SS、RH 当潜在客户进来时,我使用substr来检测邮政编码的前两个字符 $trimmed = substr("$postcode", 0, 2); $viewLeads=mysqli_query($con,"SELECT * FROM leads WHERE team = '$getID->team' ORDER BY id

我正在尝试修改现有的脚本,该脚本将只向已分配特定区号的用户输出包含特定区号的行

例如:

用户表中名为designed_area的列将包含不同的数据,如:CM、SS、RH

当潜在客户进来时,我使用substr来检测邮政编码的前两个字符

$trimmed = substr("$postcode", 0, 2);


$viewLeads=mysqli_query($con,"SELECT * FROM leads WHERE team = '$getID->team' ORDER BY id DESC");

while($lead=mysqli_fetch_object($viewLeads)){
我想扩展mysqli_查询,并从数据库中选择所有潜在客户,其中邮政编码的前2个字符与指定的任何用户_区域匹配。。以逗号分隔

这样,他将只看到他可以处理的领域的潜在客户


有人能帮忙吗

您可以尝试使用以下查询:

SELECT * FROM leads WHERE team = '$getID->team' and designed like '%{$trimmed}%' ORDER BY id DESC;
Php代码:

$viewLeads=mysqli_query($con,"SELECT * FROM leads WHERE team = '$getID->team' and designed like '%{$trimmed}%' ORDER BY id DESC;");

您可以尝试使用以下查询:

SELECT * FROM leads WHERE team = '$getID->team' and designed like '%{$trimmed}%' ORDER BY id DESC;
Php代码:

$viewLeads=mysqli_query($con,"SELECT * FROM leads WHERE team = '$getID->team' and designed like '%{$trimmed}%' ORDER BY id DESC;");

你可以用正则表达式。例如,在MySQL中,如果您的邮政编码表如下所示:

PersonID   Zips
1          11111,22222,33333
2          22222,12121,32323
你想要的是邮政编码为33*

SELECT PersonID FROM `postal_code` WHERE zips rlike '33[0-9]{3}'
这假设所有邮政编码都是5位数字,并且您总是使用2位数字进行搜索。它基本上是说“查找前两位为33的5位数字”或任何您的搜索号码。
PHP代码可能如下所示:

$search = 33 ;
$sql = "SELECT PersonID FROM `postal_code` WHERE zips rlike '$search[0-9]{3}'" ;

此解决方案将查找匹配项,而不考虑逗号、空格等。您不需要在PHP代码中进行任何进一步的处理。

您可以使用正则表达式进行处理。例如,在MySQL中,如果您的邮政编码表如下所示:

PersonID   Zips
1          11111,22222,33333
2          22222,12121,32323
你想要的是邮政编码为33*

SELECT PersonID FROM `postal_code` WHERE zips rlike '33[0-9]{3}'
这假设所有邮政编码都是5位数字,并且您总是使用2位数字进行搜索。它基本上是说“查找前两位为33的5位数字”或任何您的搜索号码。
PHP代码可能如下所示:

$search = 33 ;
$sql = "SELECT PersonID FROM `postal_code` WHERE zips rlike '$search[0-9]{3}'" ;

此解决方案将查找匹配项,而不考虑逗号、空格等。您不需要在PHP代码中进行任何进一步处理。

这很好,但是当“Zip”以字符而不是数字开头时,这是否适用?位置之间的真正定义是用代码的前两个字母字符来定义的。这很好,但是当“Zip”以字符而不是数字开头时,这是否适用?位置之间的实际定义是由代码的前两个字母字符定义的。