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

Bibliothèques et frameworks PHP Discussion :

Boucle contrôleur et Boucle variable


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Février 2018
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Boucle contrôleur et Boucle variable
    Bonjour je me forme sur Php via cakePHP pour un projet pro.

    Je ne suis qu'au tout veuillez excusez ma potentielle ignorance.

    L'idée de mon contrôleur est tout simple. Je récupère des centrales d'achat auquel des magasins sont rattaché.

    J'ai déjà réussi a récupérer l'ensemble des centrales et de compter le nombre de magasins totale.

    l'idée suivante était de récupérer le nombre de magasins rattaché a chaque centrale mais la j'avoue en parcourant la documentation ne pas avoir la bonne syntaxe.

    Voici mon contrôleur :

    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
    <?php
    //src/Controller/CentralesController.php
    namespace App\Controller;
    use Cake\ORM\TableRegistry;
     
    class CentralesController extends AppController
        {
            public function index()
                {
                    //Recuperation de l'ensemble des centrale
                    $centrales = $this->Centrales->find('all');
                    $this->set(compact('centrales'));
     
                    //Nombre De Centrale
                    $Nombrecentrales = $centrales -> count ();
                    $this->set(compact('Nombrecentrales'));
     
                    //Nombre De Magasin
                    $magasins = TableRegistry::get('Magasins');
                    $magasins = TableRegistry::getTableLocator()->get('Magasins');
                    $magasins = $magasins ->find('all');
     
                    //Nombre de magasins totale
                    $NombreMagasins = $magasins ->count ();
                    $this->set(compact('NombreMagasins'));
     
                    //Nombre de magasins par centrale
                    foreach ($centrales as $centrale);
                    $NombreMagasinscentrale = $magasins -> count(
                        [
                            'conditions => [magasins.centrale LIKE => $centrales'
                        ]
     
                        );
                        $this->set(compact('NombreMagasinscentrale'));
     
                }
            public function view($id = null)
                {
                    $Centrale = $this->Centrales->get($id);
                    $this->set(compact('centrale'));
                }
            public function add()
                {
     
                }
     
        }
    Je pense que ma boucle a forcement un souci bien que pour moi elle me semble logique.

    Après réflexion même si j'arrivais à transmettre un résultat cohérent je ne vois pas comment je pourrai le transmettre dans ma vue de façon ordonné.

    Code html : 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
    <div class="container">
        <table class="table">
                <tr>
                <td>  Nombre de centrales : <?=  $Nombrecentrales ?><td>
                <td>  Nombre de Magasins : <?=  $NombreMagasins ?><td>
                <td><td>
                <td><a class="btn btn-primary" href="/Centrales/add" role="button">Ajouter Centrale</a></td>
                </tr>
        </table>
    <table class="table">
            <tr>
                    <th scope="row">ID</th>
                    <th scope="row">Raison Sociale</th>
                    <th scope="row">Ville</th>
                    <th scope="row">Nombre de Magasin</th>
                    <th scope="row">Detail</th>
            </tr>
     
            <?php foreach ($centrales as $centrale): ?>
            <tr>
                    <th scope="row"><?= $centrale->id ?></th>
                    <th scope="row"><?= $centrale->Raison_Sociale ?></th>
                    <th scope="row"><?= $centrale->Ville ?></th>
                    <th scope="row">XXXX Magasins</th>
                    <td><a class="btn btn-primary" <?= $this->Html->link("DETAIL", ['action' => 'view', $centrale->id]) ?> </a></td>
            </tr>
            <?php endforeach; ?>
        </table>
    </div>

    Merci de votre retour.

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2016
    Messages : 30
    Points : 44
    Points
    44
    Par défaut
    Bonjour
    L'idée est bonne, mais cela dépend plus de ta modélisation de BD
    Si le magasin ont une clé étrangère de centrale : centrale_id
    Cake te facilite la tâche avec l'attribut content

    tu auras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //Recuperation de l'ensemble des centrale
    $centrales = $this->Centrales->find('all',['contain'=>['magasins']]);
    $this->set(compact('centrales'));
    et tu auras pour chaque chaque centrale une variable $centrale->magasins

Discussions similaires

  1. Interruption d'une boucle - variable non définie
    Par Sérendipité dans le forum Programmation multimédia/Jeux
    Réponses: 14
    Dernier message: 16/04/2011, 22h53
  2. [MySQL] boucle variables dynamiques
    Par granchef dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 06/04/2010, 11h10
  3. [MySQL] requete, while, boucle, variable
    Par k2006 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 25/04/2009, 18h25
  4. [FLASH8] Boucle variables dynamiques
    Par bractar dans le forum Flash
    Réponses: 2
    Dernier message: 04/01/2007, 01h45
  5. Boucle +variable
    Par Sbonneau85 dans le forum C
    Réponses: 5
    Dernier message: 02/04/2006, 17h19

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