Comment implémenter une requête de correspondance floue multi-champs en PHP

墨辰丷
Libérer: 2023-03-28 12:20:01
original
3219 Les gens l'ont consulté

Cet article présente principalement la méthode d'implémentation d'une requête de correspondance floue multi-champs en PHP, et analyse les opérations de modèle associées et les instructions SQL de PHP pour la requête de correspondance floue sous forme d'exemples. Les amis dans le besoin peuvent se référer au

Introduction : Parfois, la requête doit correspondre à plusieurs champs. Par exemple, lors d'une requête sur une adresse, celle-ci est composée de plusieurs champs. Il y a des provinces, des villes, des districts, etc., ainsi que des adresses détaillées. Comment interroger à ce moment-là ?


Implémenter les mêmes conditions de requête pour différents champs

$User = M("User"); // 实例化User对象
$map['name|title'] = 'thinkphp';
// 把查询条件传入查询方法
$User->where($map)->select();
Copier après la connexion

Utiliser dans le projet

if ($address) {
  // 地址查询
  $where['b.province|b.city|b.area|b.detail'] = array('like', '%'.$address.'%');
        $this->assign('address', $address);
}
Copier après la connexion

Cette exigence est résolue de manière très simple et très précise.

L'instruction SQL générée est la suivante

SELECT a.*,b.name,b.tel,b.province,b.city,b.area,b.detail,b.zipcode
FROM sh_order a
LEFT JOIN sh_member_address b on a.member_id = b.member_id and b.selected = 1
WHERE ( `store_id` = '10' ) AND ( a.member_id IN ('7') ) AND ( (b.province LIKE '%宿城区%') OR (b.city LIKE '%宿城区%') OR (b.area LIKE '%宿城区%') OR (b.detail LIKE '%宿城区%') )
ORDER BY addtime desc, sendtime asc, paytime desc
LIMIT 0,10
Copier après la connexion

Comme le montre l'instruction SQL, les parenthèses AND et OR les combinaisons où sont très intelligentes.

Les captures d'écran sont les suivantes

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à tout le monde étude.


Recommandations associées :

PHP implémente l'acquisition aléatoire de noms de domaine qui ne sont pas bloqués par WeChat

phpComment implémenter la gestion de fichiers et les opérations de base des fonctions

Explication détaillée de l'exemple de fonction de détection de délai de connexion en php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!