Maison > développement back-end > tutoriel php > Implémentation de la fonction de requête de recherche PHP

Implémentation de la fonction de requête de recherche PHP

墨辰丷
Libérer: 2023-03-28 13:10:01
original
3012 Les gens l'ont consulté

Cet article présente principalement le code d'implémentation de la fonction de requête de recherche PHP. Il est très bon et a une valeur de référence. Les amis qui en ont besoin peuvent s'y référer

J'ai rencontré un problème aujourd'hui : lors de la "recherche". ", 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 data with printing=0. peut ê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() :

Par exemple :

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ù ajouter cette restriction. Après diverses tentatives et enquêtes, je l'ai découvert. Des restrictions peuvent être ajoutées 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 les zones bleues 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'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.


Recommandations associées :

Comment implémenter l'ajout et le retour à la ligne dans file_put_contents en PHP

php PDO implémente la méthode permettant de juger si la connexion est disponible

Méthode PHP permettant de trier un tableau associatif bidimensionnel selon l'un des les champs

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