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