Faire un Sous sommaire

Par bobazaza, il y a 10 ans


Bonsoir

Ce que je veux

Je suis novice sous cakephp et j'aimerais savoir comment indexer des personnes par la première lettre de leur nom et faire un sous sommaire qui va de A-Z. Et quand je clique sur la lettre A j'ai la liste de toutes les personnes qui ont leur nom qui commence par la lettre A. Faut il faire une seconde méthode view et un nouveau fichier viw.ctp ? merci =)

13 réponses

bobazaza, il y a 10 ans

Kelkin vous n'auriez pas une idée ? Je ne m'en sors pas ^^

Kelkin, il y a 10 ans

Non, je suis désolé. Tu as étais voir les tuto sur cakePHP ?

bobazaza, il y a 10 ans

oui mais il n'y a pas ce que je veux :/ pourtant ça serait bien de faire un tuto dessus ^^

bobazaza, il y a 10 ans

il y a quelqu'un ??

bobazaza, il y a 10 ans

Bonjour j'ai fait ceci cependant je bloque car avec les foreach j'affiche tout et j'aimerais afficher que la personne qui commence par la même lettre

quelqu'un aurait une soluce ? merci =)

<body> <div class="row"> <?php $tab = 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($p as $pers){ foreach($tab as $t){ if(substr($pers['Personne']['nom'],0,1) == $t){ echo $this->Html->link(ucfirst($t),array('controller' => 'personnes', 'action' => 'index',$pers['Personne']['nom'])); ?> <?php $modifier = $this->Html->link('Modifier',array('action' => 'modif', $pers['Personne']['id'])); ?> <?php $supprimer = $this->Form->postLink('supprimer',array('action'=>'delete',$pers['Personne']['id']),array('confirm',array('êtesvous sur?',$pers['Personne']['nom']))); ?> <div class="col-sm-6 col-md-3" > <div class="thumbnail"> <?php echo $this->Html->image($pers['Personne']['photo']);?> <div class="caption"> <h3><?php echo ucfirst($pers['Personne']['prenom'])." ".ucfirst($pers['Personne']['nom']); ?></h3> <p><button class="btn btn-primary" role="button"> <?php echo $this->Html->link('visiter',array('controller' => 'personnes', 'action' => 'view', $pers['Personne']['id'])); ?> </button> <a href="#" class="btn btn-default" role="button"> Button </a> </p> </div> </div> </div> <?php }else if(substr($pers['Personne']['nom'],0,1) != $t) { echo ""; } } } ?> </div> <?php $boutonAjouter = $this->Html->link('Ajouter une personne',array('controller'=>'personnes','action'=>'ajout')); echo $boutonAjouter; ?>
Kelkin, il y a 10 ans

Ton sujet a à peine été poster, attend un peu

capitalechoplex, il y a 10 ans

Bonjour, je sais pas si j'ai bien compris, mais lorsque je veux faire un classement comme tu le souhaites j'y vais de cette façon en php :

<?php $array = ['Alexandre', 'Alfred', 'Bruce', 'Barbara', 'Bob', 'Jim']; $previous = null; foreach($array as $value) { $first = substr($value, 0, 1); if($previous !== $first) echo '<div><a href="#" class="tab">'.$first.'</a></div>'; $previous = $first; echo '<div>' .$value. "\n". '</div>'; } ?>
bobazaza, il y a 10 ans

En fait j'aimerais trier ma liste des personnes, faire un sommaire de "A" allant à "Z" et quand je clique sur "A" par exemple, ça m'affiche tous les nom des personnes commençant par la lettre "A". =)

AswadSaadi, il y a 10 ans

Ah j'ai le même problème que toi

Kelkin, il y a 10 ans

Mais les noms des personnes sont dans une base de donnée ? Car sinon tu peut le récupérer en SQL ?

bobazaza, il y a 10 ans

oui les noms sont dans la base de données :)

Kelkin, il y a 10 ans

Et bien c'est plus simple de le récupérer en SQL je pense

bobazaza, il y a 10 ans

et comment ? dans le model ??