8383 sujets

Développement web côté serveur, CMS

Bonjour,

je viens a votre aide car j'y suis depuis un moment et je ne parvient pas a mes fins ...

j'ai créer en effet une pagination qui marche bien j'arrive a afficher mes données ect

mais lorsque je clique sur le lien une erreur 404 s'affiche je pense que l'erreur provient de $config['base_url'] = base_url('index/ToutesActivitesControlleur'); mais je trouve pas la solution

model : ToutesActivites_model.php
<?php
     
    class ToutesActivites_model extends CI_Model {
         
        protected $table = 'activite';
         
        function __construct(){
            parent::__construct();
            $this->load->database();
        }
  
        // function afficheDonnee()
        // {
            // $query=$this->db->query("select * from activite");
            // return $query->result();
        // }
             
 
        public function get_count() {
            return $this->db->count_all($this->table);
        }
 
        public function get_authors($limit, $start) {
            $this->db->limit($limit, $start);
            $query = $this->db->get($this->table);
 
            return $query->result();
        }
         
    }
      
?>

controlleur : ToutesActivitesControlleur.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
 
 
    class ToutesActivitesControlleur extends CI_Controller
    {
        function __construct(){
            parent::__construct();
            $this->load->helper('url');
            $this->load->database();
            $this->load->model('ToutesActivites_model');
            $this->load->library("pagination");
        }
         
        // public function index(){            
         
            // $result['data']=$this->ToutesActivites_model->afficheDonnee();
            // $this->load->view('toutesLesActivites',$result);
             
            // if($result != null){
                // echo 'Vous Venez D\'être Déconnecté';
            // }
        // }
 
         public function index() {
             
            $config = array();
            // $config["base_url"] = base_url() . "activite";
            $config['base_url'] = base_url('index/ToutesActivitesControlleur');
            $config["total_rows"] = $this->ToutesActivites_model->get_count();
            $config["per_page"] = 5;
            $config["uri_segment"] = 2;
 
            $this->pagination->initialize($config);
 
            $page = ($this->uri->segment(2)) ? $this->uri->segment(2) : 0;
 
            $data['links'] = $this->pagination->create_links();
 
            $data['activite'] = $this->ToutesActivites_model->get_authors($config["per_page"], $page);
 
            $this->load->view('toutesLesActivites', $data);
        }
    }
     
?>  


vue : toutesLesActivites.php


<table class="TABLE">
                <thead>
                    <tr>
                        <th style="font-size:16px"> N° </th>
                        <th style="font-size:16px"> Sujet </th>
                        <th style="font-size:16px"> Theme </th>
                        <th style="font-size:16px"> Utilisateur</th>                           
                        <th style="font-size:16px"> Date </th> 
                        <th style="font-size:16px"> Observation </th>
                    </tr>
                </thead>
                <tbody>  
                     
                    <?php
                    if((sizeof($activite))>0){
                        $i=1;
                        foreach ($activite as $author) { ?>
                        <tr>
                            <td><?= $author->IdActivite ?></td>
                            <td><?= $author->IdSujet ?></td>
                            <td><?= $author->idTheme ?></td>
                            <td><?= $author->Utilisateur ?></td>
                            <td><?= $author->Date ?></td>
                            <td><?= $author->Observation ?></td>
                        </tr>
                    <?php
                        $i++;
                            }
                        }
                    else{ ?>
                <tr><td colspan="8" style="background-color:#E74C3C; text-align:center;"><b> Aucune ACtivité</b></td></tr>
                <?php } ?>
                     
                 
               
                </tbody>
            </table>         
        <!-- Nouvelle gestion pagination -->
            <p><?php echo $links; ?></p>
        </div>
        

résultat :




mmerci d'avance pour votre aide et attention
Modifié par LenaMora (03 Jun 2021 - 15:49)
Bonjour,
Supposons que ton base_url (défini dans /application/config/config.php) vaut "http://localhost/site".

Lorsque tu fait $config['base_url'] = base_url('index/ToutesActivitesControlleur');, la valeur de $config['base_url'] vaut http://localhost/site/index/TouteActivitesControlleur.
Lorsqu'on essayera donc d'accéder à cette page, CodeIgniter tentera de charger le controleur index (premier segment de ton URL) et d'exécuter la méthode TouteActivitesController (deuxième segment de l'URL). Or ce controleur (index) n'existe pas d'où l'erreur 404

Tu a inversé les choses, je pense que tu devrai plutôt mettre $config['base_url'] = base_url('ToutesActivitesController/index');

La méthode (index) peut être ignorée puisque par défaut CodeIgniter lance la méthode index lorsque le second segment n'est pas précisé
Meilleure solution