Je crée une application Web dans codeigniter, elle extrait les messages de la base de données pour un utilisateur en fonction des mots-clés ajoutés à sa liste de mots-clés. essaie de récupérer tous les postes avec les mots-clés des utilisateurs, mais il retourne un seul poste alors qu'il ya Mutliple résultats obtenus pour les mots-clés dans les messagesRequête renvoyant une seule ligne de données
Voici sont les fonctions de mon modèle
Cette fonction permet de récupérer les utilisateurs mots-clés
function user_keywords($user_id) {
//Get all the user keywords
$q = $this->db->select('keywords')
->from('keywords')
->where('U_id',$user_id)
->get();
$words = $q->result_array();
return $words;
}
Cette fonction récupère les messages
function get_latest_pheeds() {
$this->load->helper('date');
$time = time();
$keyword = $this->user_keywords($this->ion_auth->user_id);
foreach($keyword as $word) {
$q = $this->db->select('user_id,pheed_id,datetime,pheed,COUNT(pheed_comments.comment_id) as comments')
->from('pheeds')
->join('pheed_comments','pheed_comments.P_id=pheeds.pheed_id','left')
->like('pheed',$word['keywords'])
->order_by('datetime','desc')
->get();
}
$rows = $q->result_array();
return $rows;
}
Et mon contrôleur il encode JSON
function latest_pheeds() {
if($this->isLogged() == true) {
$this->load->model('pheed_model');
$data = $this->pheed_model->get_latest_pheeds();
echo json_encode($data);
}
return false;
}
J'apprécie vraiment l'aide
Êtes-vous sûr que le problème est pas dans votre méthode select() ou result_array()? – Mike
'$ q' dans votre méthode' get_latest_pheeds() 'aura la dernière requête. Avant de suggérer une meilleure approche, que contient 'mot word ['keywords']'? un seul mot-clé? est-ce exactement la même chose dans la table 'keywords' que dans la table' pheeds' (dans le champ 'pheed')? – ifaour
$ mot ['mots-clés'] contient des mots-clés retournés par user_keywords() méthode – MrFoh