Bonsoir
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 =)
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;
?>
oui mais il n'y a pas ce que je veux :/ pourtant ça serait bien de faire un tuto dessus ^^
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>';
}
?>
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". =)
Mais les noms des personnes sont dans une base de donnée ? Car sinon tu peut le récupérer en SQL ?