Introduction détaillée et exemple de code de la fonction de requête de recherche PHP

黄舟
Libérer: 2023-03-06 07:18:01
original
5369 Les gens l'ont consulté

J'ai rencontré un problème aujourd'hui : lors de l'utilisation de la fonction "Rechercher", la requête ne peut pas être effectuée après avoir saisi les conditions de requête.
Ce que je fais, c'est afficher le contenu du package de tables de données sur la page d'accueil, mais il y a une condition. Le contenu affiché sur la page d'accueil doit également être : field status=0, et les données avec printing=0 peuvent être. affiché dans la liste de la page d'accueil.
Il y a une fonction « Recherche » sur la page. Après avoir saisi les conditions, la requête sera effectuée en fonction des conditions.
Pour une recherche générale, indiquez-en simplement un dans la méthode de liste d'affichage de la page d'accueil index() :

$map=array();//初始化查询条件
$map=$this->_search();//调用查询方法
$total = $this->Model->where ($map)->count(); //这个主要是用来计算页面显示数据条数的
if ($total == 0) {
$_list = '';
} else {
$_list = $this->Model->where ($map)->limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select();
}
Copier après la connexion

Ensuite, écrivez simplement un _search() :
tel que :

protected function _search(){
$map = array ();
$post_data = I ( 'post.' );
if ($post_data ['packageid'] != '') {
$map ['packageid'] = array (
'like',
'%' . $post_data ['packageid'] . '%' 
);
}
return $map;
}
Copier après la connexion

Enfin, appelez cette méthode de recherche dans le menu "Recherche" des paramètres.
Cependant, lorsque je fais cela, lors de la recherche, je dois également m'assurer de rechercher dans les données avec le champ status=0 et l'impression=0.
J'ai réfléchi à l'endroit où mettre cette restriction. Après diverses tentatives et enquêtes, je l'ai découvert. Ajoutez simplement les conditions de restriction directement à l'instruction SQL (comme indiqué en rouge ci-dessous). (Quand je l'ai essayé moi-même, j'ai continué à ajouter des conditions dans la zone bleue ci-dessous et j'ai échoué à chaque fois !)

$map=array();
$map=$this->_search();
$total = $this->Model->where ($map)->where(array('status' =>0,'print_status'=>0))->count();
if ($total == 0) {
$_list = '';
} else {
$_list = $this->Model->where ($map)->where(array('status' =>0,'print_status'=>0))->limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select();
}
Copier après la connexion

Ce qui précède est l'introduction détaillée de la fonction de requête de recherche PHP et du contenu. de l'exemple de code, plus Pour le contenu associé, veuillez faire attention au site Web PHP chinois (www.php.cn) !

É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