Php 在MySQL表中搜索逗号分隔的区号
我正在尝试修改现有的脚本,该脚本将只向已分配特定区号的用户输出包含特定区号的行 例如: 用户表中名为designed_area的列将包含不同的数据,如:CM、SS、RH 当潜在客户进来时,我使用substr来检测邮政编码的前两个字符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
$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”以字符而不是数字开头时,这是否适用?位置之间的实际定义是由代码的前两个字母字符定义的。