Codeigniter nombre de lignes dans le contrôleur
J'ai un modèle où j'ai sélectionner le bon de données à partir de la base de données comme ci-dessous:
<?php
class vacancies extends CI_Model{
function vacancies()
{
$query = $this->db->query("SELECT * FROM ecc_vacancies_vac WHERE active_vac = 1 AND end_vac >= CURDATE() ORDER BY date_vac DESC");
if($query->num_rows() >= 1){
foreach($query->result() as $row){
$data[] = $row;
}
return $data;
}
}
}
et un contrôleur pour gérer ces données avant de les envoyer à afficher comme ci-dessous:
function index()
{
//check if there any available vacancies
$this->load->model('vacancies');
$data['vacancies'] = $this->vacancies->vacancies();
//then i load the views here
}
Ce que je dois faire, c'est de connaître le nombre total de lignes retournées ici dans le contrôleur pour que je puisse envoyer le numéro de la vue d'un usage ultérieur.
Lors de l'utilisation active des disques que j'ai l'habitude d'utiliser cette ligne de code:
$data['num_rows'] = $$data['vacancies']->num_rows();
Comment puis-je définir dans mon cas?
Je ne l'obtenez pas, vous récupérez le même numéro est déjà dans votre code? (
votre question est comment calculer la taille d'un tableau? google "php la taille de la table' 😉
aussi, cette ligne de code, comprenez-vous ce qu'il faisait?
définir un count(*), * dans la sélection
if( $query->num_rows() >= 1){
)votre question est comment calculer la taille d'un tableau? google "php la taille de la table' 😉
aussi, cette ligne de code, comprenez-vous ce qu'il faisait?
définir un count(*), * dans la sélection
OriginalL'auteur ahmedsaber111 | 2012-06-20
Vous devez vous connecter pour publier un commentaire.
Num rows(); ne fonctionne que si vous êtes encore à travailler sur votre requête "partie" dans votre modèle. Il indique à l'id de l'objet.
Vous avez déjà retourné les données.
Essayez ceci:
OriginalL'auteur Robert
PHP à la rescousse. Depuis votre modèle de méthode renvoie un tableau, vous obtenez le nombre total de lignes par un simple count() appel.
Ainsi, par exemple,
merci à vous, vous le résoudre
OriginalL'auteur sankari
Vous retourner un tableau à partir du modèle, de sorte que dans le contrôleur, vous pouvez utiliser PHP avec la fonction count ():
Il y a aussi un problème avec votre modèle, la fonction ne retournera un tableau si il n'y a pas de résultats, ce qui pourrait causer des problèmes si vous le traitez comme un tableau plus tard. Vous devez ajouter une initialisation de $données avant de l'instruction if, et puis toujours y retourner un tableau vide:
OriginalL'auteur Nick Jennings
Pour vous aider:
Return 0 et faire un if else dans la vue
OriginalL'auteur Koen