IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

Action qui ne se déclenche pas [ZF 1.9]


Sujet :

MVC PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut Action qui ne se déclenche pas
    Bonjour,

    Nouvelle sur Zend, j'essaie de créer une nouvelle action et de l'appeler à travers un lien mais en vain.

    Voici le lien en question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="/monsite.com/trunk/Sources/index/searchalpha/lettre/a">A</a>
    et voilà mon action dans l'IndexController:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    public function searchalphaAction(){
           echo "stop";
           $firstLetter = $this->_request->getParam('lettre');
           echo "stop";
           echo $firstLetter;
          // Récupération des agences dans la BdD
            $sql = "SELECT * FROM `bdd`.`test` WHERE test_nom LIKE '. $firstLetter .%' ORDER BY test_nom ASC; ";
            $agence_alpha = Zend_Registry::get('db')->query($sql)->fetchAll(); 
     
     
     
            foreach ($test_alpha as $row) {
     
                     print '~ <a href="' . $this->baseUrl() . '/index/recherche?ts=' . $row['test_id'] . '/'.$row['test_nom'].'">' . $row['test_nom'] . '</a> ';
            }
      }
    Quand je clique sur le lien il me retourne sur la page d'accueil.

    Voyez-vous d'où vient le problème.

    Merci d'avance

  2. #2
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Salut,

    Normalement si tu veux atteindre ton action tu dois avoir ceci comme url:

    /index/searchalpha/lettre/a

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    oui c'est ce que j'ai déjà...apparemment il veux un layout...sinon il me boucle sur la page d'accueil...étrange non??

    par contre j'arrive pas a retrouver la bonne syntaxe pour mon url pour qu'il me retourne cette url dans href: "monsite.com/trunk/Sources/index/searchalpha/lettre/a"

    <a href="' . $this->baseUrl() . '/index/searchalpha/lettre/a' '"</a>

    je m'embrouille avec les ' et les ".

    Une autre question aussi, comment je peux gérer mon affichage dans ma vue a partir du résultat de la requête dans mon action? En gros le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      print '~ <a href="' . $this->baseUrl() . '/index/recherche?ts=' . $row['test_id'] . '/'.$row['test_nom'].'">' . $row['test_nom'] . '</a> ';
    Merci d'avance

  4. #4
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Tu as suivi quel tuto pour ton appli?
    Tu peux montrer ton fichier de config?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    Le site existait déjà...et moi je me suis pris le bouquin "Zend Framework bien développer en php"

    Quel fichier de config? qu'est ce que tu veux exactement retrouvé comme info?

  6. #6
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Si tu a acheté le bouquin de Julien Pauli tu dois faire attention car la version du framework de son bouquin est différente de la version 1.9, tu devras adapter l'autoload et surement modifier le bootstrap.

    Je veux voir tout le contenu de ton fichier de config à part les identifiants et autres trucs secret défense...

  7. #7
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    as tu essayé le view helper url ?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    echo $this->url(array(
    'controller' => 'index',
    'action' => 'searchalpha',
    'lettre' => 'a'
    ));

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    Madfrix...ça fonctionne mais bizarrement il voulait un layout dans l'action alors que moi je veux qu'il garde le même layout de départ...une idée?

    Manuscle, voilà mon .htaccess

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    # Redirige toutes les requêtes vers index.php
    # sauf les requête vers les ressources statiques (images, scripts,...)
    #RewriteEngine On
    #RewriteCond %{REQUEST_FILENAME} -s [OR]
    #RewriteCond %{REQUEST_FILENAME} -l [OR]
    #RewriteCond %{REQUEST_FILENAME} -d
    #RewriteRule ^.*$ - [NC,L]
    #RewriteRule ^.*$ /index.php [NC,L]
     
     
    RewriteEngine on
    RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
     
     
    # Sécurité : Ne pas autoriser le parcours de répertoires
    Options -Indexes
     
    # Configuration PHP
    php_flag magic_quotes_gpc off
    php_flag register_globals off
    php_flag short_open_tag on
     
    RewriteRule ![google4685685686e.html|\.(js|ico|gif|jpg|png|css)$] index.php
    J'ai un fichier config.ini avec les infos de connexion a la base et un route.ini qui précise les différentes entrées que j'ai sur le site avec les modules, controller, et action...

    Est-ce qu'il te faut mon bootstrap?

  9. #9
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    t'es sûre qu'il te demande un layout? c'est pas plutot le script de vue qu'il te demande?
    le layout c'est le gabarit général de ta page (main.phtml). tu as dû le configurer dans ton config.ini ou dans ton bootstrap.

    Ensuite je vois que tu fait des echo et print dans le controlleur, mais normalement tu dois faire ceci dans un script de vue /application/view/scripts/index/searchalpha.phtml qui lui-même va être rendu dans le layout.

    Peux-tu nous montrer les messages d'erreurs?

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    du moins c'est qu'a travers le layout que j'ai pu voir s'il m'exécutait bien la requête...ce qui est le cas.

    Je vous explique j'ai une page qui me retourne tous les enregistrement d'une table classé par ordre alphabétique mais d'un bloc..moi j'aurai voulu filtrer tout ça en créant un tableau avec les lettres de l'alphabet.

    Voici le layout de la page en question: la page se trouve dans /view/script/referencement/ et s'appelle annonceurs.phtml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    foreach($this->data as $letter =>  $rows){
    	echo '<h1 style="margin: 1em -12px 10px">' . $letter . '</h1>';
    	foreach($rows as $row){
      print '~ <a href="' . $this->baseUrl() . '/index/recherche?cr=poste&ag=' . $row['agence_id'] . '/'.$row['agence_rs'].'">' . $row['agence_rs'] . '</a> ';
     
    	}
    }
     
     
    ?>
    J'ai un referencementController qui contient ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <?php
     
     
    class ReferencementController extends Pi_Controller_ExtController
    {
    	function annonceursAction()
    	{
    		$this->view->layout()->setLayout('1column');
        $this->view->headLink()->appendStylesheet(DEFAULT_SKIN_PATH . 'styles/recherches.css');
     
    		$tAgences = new Agences();
    		$field = "agence_rs";
     
    		$this->view->data = $this->AlphabeticArrayMaker($tAgences->getAllAgencesForSeo(),$field);
    	}
     
    	function postesAction()
    	{
    		$this->view->layout()->setLayout('3columns');
        $this->view->headLink()->appendStylesheet(DEFAULT_SKIN_PATH . 'styles/recherches.css');
    		$tPostes = new Postes();
    		$field = "poste_intitule";
     
    		$this->view->data = $this->AlphabeticArrayMaker($tPostes->getAllPostesForSeo(),$field);
    	}
     
    	function AlphabeticArrayMaker($datas,$field)
    	{
    		//variable permettant de stocker la premiere lettre de la colonne "nomColonne"
     
    		$alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
     
    		// transforme chaque index en tableau
    		foreach($alphabet as $lettre){
    			$array[$lettre] = array();
    		}
     
    		//boucle sur les r�sultats
    		foreach($datas as $row)
    		{
    			$lettre_tester = strtoupper(substr($row[$field], 0, 1));
    			$array[$lettre_tester][] = $row;
    		}
     
    		return $array;
    	}
     
     
     
              public function searchalphaAction(){
     
     
            $firstLetter = $this->_request->getParam('lettre');
               echo "stop";
               echo $firstLetter;
              // Récupération des agences dans la BdD
                $sql = "SELECT * FROM `pagesinterim`.`agences` WHERE agence_rs LIKE '$firstLetter%' ORDER BY agence_rs ASC";
                $agence_alpha = Zend_Registry::get('db')->query($sql)->fetchAll(); // Array
     
                echo $sql;
     
     
               foreach ($agence_alpha as $row) {
     
                         //print '~ <a href="' . $this->baseUrl() . '/index/recherche?cr=poste&ag=' . $row['agence_id'] . '/'.$row['agence_rs'].'">' . $row['agence_rs'] . '</a> ';
                         print '~ <a href="pagesinterim.com/Sources/index/recherche?cr=poste&ag=' . $row['agence_id'] . '/'.$row['agence_rs'].'">' . $row['agence_rs'] . '</a> ';
     
                }
               $this->view->layout()->setLayout('main');
               $this->view->headLink()->appendStylesheet(DEFAULT_SKIN_PATH . 'styles/recherches.css');
               $this->view->data = $this->AlphabeticArrayMaker($tAgences->getAllAgencesForSeo(),$row);
     
     
      }
     
    }
    Je veux bien faire mon affichage dans la page annonceurs.phtml mais comment récupérer le résultat de ma requête?

    J'espère avoir été clair.

  11. #11
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Pour envoyer une variable à ton script de vue tu dois faire ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // Dans le controlleur
    $this->view->maVariable = 'coucou';
     
    // Dans le script de vue
    <?php echo $this->maVariable ?>

  12. #12
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Sinon si tu peux modifier ta fonction getAllAgencesForSeo j'aurais fait un truc comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    // Dans ton controlleur
        function annonceursAction()
        {
            $this->view->layout()->setLayout('1column');
        $this->view->headLink()->appendStylesheet(DEFAULT_SKIN_PATH . 'styles/recherches.css');
     
            $tAgences = new Agences();
            $field = "agence_rs";
     
            // J'envoie les parametres à la methode de la table
            $this->view->letter = $this->_request->getParam('letter');
            $this->view->data = $this->AlphabeticArrayMaker($tAgences->getAllAgencesForSeo($this->view->letter),$field);
     
        }
     
    // Dans ta classe de table
        public function getAllAgencesForSeo($letter)
        {
            $alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
            $select = "Ta requete";
            if ($letter && in_array($letter, $alphabet)) {
     
                $select .= " WHERE agence_rs LIKE '{$params['letter']}%'";
            }
        }
    // Dans ta vue
    <?php
    $alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
     
    foreach ($alphabet as $letter) {
     
    if ($letter == $this->letter) {
    echo $letter;
    } else {
    echo '<a href="'. $this->url(array(
    'controller' => 'index',
    'action' => 'annonceurs',
    'lettre' => $letter
    )) . '">' . $letter . '</a>';
    }
    ?>

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    g essayé ton code...malheureusement ça ne marche pas:

    je reprend:

    mon modèle Agence: j'ai rajouté la fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public function getAllAgencesByAlpha($letter)
    	{
                $alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
     
                $select = "SELECT * FROM `monsite`.`agences`";
     
                if ($letter && in_array($letter, $alphabet)) {
     
                    $select .= " WHERE agence_rs LIKE '{$params['letter']}%' ORDER BY test_nom ASC";
                    $agence_alpha = Zend_Registry::get('db')->query($select)->fetchAll();
                }
            }
    mon controller Referencement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function annonceursAction()
    	{
    		$this->view->layout()->setLayout('1column');
                    $this->view->headLink()->appendStylesheet(DEFAULT_SKIN_PATH . 'styles/recherches.css');
     
    		$tAgences = new Agences();
    		$field = "agence_rs";
     
                    // J'envoie les parametres à la methode de la table
                    $this->view->letter = $this->_request->getParam('letter');
     
                    $this->view->data = $this->AlphabeticArrayMaker($tAgences->getAllAgencesByAlpha($this->view->letter),$field);
    	}
    Ma vue:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <div style="background: #fff; width: 100%; padding: 0 1em 1em; margin: -1em;">
        <div class="float_left bloc branchfile_alpha">
            <div class="bloc_content">
                    <div class="title_bloc">Recherche par ordre alphabétique :</div>
                    <div class="abc">
     
                        <!--<a href="/monsite.com/trunk/Sources/index/searchalpha/lettre/a">A</a>-->
                        <a href="/monsite.com/trunk/Sources/referencement/annonceurs?lettre=a">A</a>
                        <a href="/monsite.com/trunk/Sources/index/searchalpha/lettre/b">B</a>
                        <a href="/monsite.com/trunk/Sources/index/searchalpha/lettre/c">C</a>
     
        </div>
    </div>
    </div>
     
    <?php
    $alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
     //echo "hihi";
    foreach ($alphabet as $letter) {
     
    if ($letter == $this->letter) {
    echo $letter;
    } else {
    echo '<a href="'. $this->url(array(
    'controller' => 'Referencement',
    'action' => 'annonceurs',
    'lettre' => $letter
    )) . '">' . $letter . '</a>';
    }
    ?>
     
    </div>
    J'ai une belle page blanche qui s'affiche avec rien dedans.

    Ce serait mieux de pas avoir de code php dans ma vue...je voudrai que par defaut il me remonte les résultats de la lettre 'a' mais en plus de la recherche par ordre alphabétique, il y aura aussi une recherche libre...j'espère que c'est clair...

    Merci d'avance pour votre aide!

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    Léger mieux...j'ai bien les liens avec les lettres alphabétiques qui s'affichent dans ma vue, ils pointent sur les bonnes urls par contre ça ne m'affiche aucun résultat???

  15. #15
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Ben c'est normal, ta methode getAllAgencesByAlpha ne retourne rien!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public function getAllAgencesByAlpha($letter)
        {
                $alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
     
                $select = "SELECT * FROM `monsite`.`agences`";
     
                if ($letter && in_array($letter, $alphabet)) {
     
                    $select .= " WHERE agence_rs LIKE '{$params['letter']}%' ORDER BY test_nom ASC";
                    $agence_alpha = Zend_Registry::get('db')->query($select)->fetchAll();
    return $agence_alpha;
                }
            }

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    non mais c le $param[] qui pose problème.
    J'ai mis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     " WHERE agence_rs LIKE '$letter%' ORDER BY agence_rs ASC";
    a la place mais ça marche pas mieux.
    Y a des résultats mais rien ne s'affiche rien du tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     public function getAllAgencesByAlpha($letter)
    	{
                $alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
     
                $select = "SELECT * FROM `pagesinterim`.`agences`";
     
                // echo $letter;
                // echo "<br/>";
                if ($letter && in_array($letter, $alphabet)) {
     
                    $select .= " WHERE agence_rs LIKE '$letter%' ORDER BY agence_rs ASC";
                    //echo $select;
                    $agence_alpha = Zend_Registry::get('db')->query($select)->fetchAll();
                    return $agence_alpha;
     
                }
     
            }
    NB: Quand je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     print_r($agence_alpha);
    mes résultats s'affichent.
    Le problème vient de la fonction AlphabeticArrayMaker, le print_r($datas); me renvoit rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    function AlphabeticArrayMaker($datas,$field)
    	{
    		//variable permettant de stocker la premiere lettre de la colonne "nomColonne"
     
    		$alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
     
    		// transforme chaque index en tableau
    		foreach($alphabet as $lettre){
    			$array[$lettre] = array();
    		}
    		 print_r($datas);
     
    		//boucle sur les r�sultats
    		foreach($datas as $row)
    		{
    			$lettre_tester = strtoupper(substr($row[$field], 0, 1));
     
    			$array[$lettre_tester][] = $row;
    		}
     
    		return $array;
    	}
    un autre soucis aussi et je comprends d'ou ça vient ça marchait avant mais plus maintenant...j'arrive pas a récupérer les bonnes urls des lettres alphabétiques alors que tout est bon pour moi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
    $alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
     
    foreach ($alphabet as $letter) {
     
        if ($letter == $this->letter) {
        echo $letter;
        } else {
     
            echo '<a href="'. $this->url(array('module' =>'default',
                                                'controller'=>'referencement',
                                                'action'=>'annonceurs',
                                                'lettre'=>$letter)) . '">' . $letter . '</a> &nbsp;';
        }
     
    }
    ?>
    Encore merci pour votre aide!

  17. #17
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Déjà faut bien vérifier et adapter l'exemple que je t'ai donné car il peu y avoir des erreurs... j'ai donné ce code pour t'indiquer une voie...

    En fait j'avais pas vu mais il y a un soucis encore dans la methode getAllAgencesByAlpha
    Si pas de lettre cliquée, pas de resultat donc c pas bon, il faudrait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     public function getAllAgencesByAlpha($letter)
    	{
                $alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
     
                $select = "SELECT * FROM `pagesinterim`.`agences`";
     
                // echo $letter;
                // echo "<br/>";
                if ($letter && in_array($letter, $alphabet)) {
     
                    $select .= " WHERE agence_rs LIKE '$letter%' ORDER BY agence_rs ASC";
                }
                     $agence_alpha = Zend_Registry::get('db')->query($select)->fetchAll();
                    return $agence_alpha;
            }
    Ensuite la variable data correspond théoriquement à ton résultat de requete tu devrais donc avoir ceci dans ta vue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    foreach ($this->data as $data) {
       echo '<h1>' . $data['agence_rs'] . '</h1>';
    }

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    y a pas de différence avec la première fonction getAllAgencesByAlpha($letter) ???

    C'est bon ça marche!!! J'arrive a voir des résultats!!
    Faut que je gère encore d'autres trucs mais je verrai ça demain!

    Je vous remercie grandement pour pour votre aide!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JSF] Action du bouton qui ne se déclenche pas
    Par Racha07 dans le forum JSF
    Réponses: 28
    Dernier message: 21/05/2015, 15h15
  2. Evènement qui ne se déclenche pas
    Par max.lille dans le forum Langage
    Réponses: 8
    Dernier message: 09/05/2006, 15h46
  3. onmouseover qui ne se déclenche pas sous IE...
    Par narnou dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 21/03/2006, 17h26
  4. Un JOB qui ne se déclenche pas
    Par blids dans le forum Oracle
    Réponses: 15
    Dernier message: 09/02/2005, 21h14
  5. [trigger] ... qui ne se déclenche pas
    Par bozo dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 14/01/2004, 11h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo