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

墨辰丷
墨辰丷original
2018-05-30 11:07:073011parcourir

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();
}

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;
}

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();
}

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!

Déclaration:
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