Générer Liste de caractères
                                    
                        Gothelein                    
                                    -
                                     
Reivax962 Messages postés 3742 Statut Membre -
        Reivax962 Messages postés 3742 Statut Membre -
        Bonjour, 
Je souhaiterais générer une liste, qui ce remplit automatiquement et en boucle.
En gros (par exemple) lorsque j'arrive sur ka page 1 j'ai a-z, sur la page 2 aa-za, sur la page 3 ab-zb, etc..., et ce a l'infini, tant que j'ouvre une page, ma liste se génère.
Le top serait également de pouvoir choisir les souhaité caractères (a-z 0-9 A-Z & € # = etc...)
Merci pour votre aide.
            
            
                
            
                
    
    
    
        Je souhaiterais générer une liste, qui ce remplit automatiquement et en boucle.
En gros (par exemple) lorsque j'arrive sur ka page 1 j'ai a-z, sur la page 2 aa-za, sur la page 3 ab-zb, etc..., et ce a l'infini, tant que j'ouvre une page, ma liste se génère.
Le top serait également de pouvoir choisir les souhaité caractères (a-z 0-9 A-Z & € # = etc...)
Merci pour votre aide.
        A voir également:         
- Générer Liste de caractères
 - Liste déroulante excel - Guide
 - Liste caractères spéciaux word - Guide
 - Caractères spéciaux - Guide
 - Generer mot de passe - Télécharger - Sécurité
 - Liste code ascii - Guide
 
2 réponses
                        
                    Bonjour,
Tu peux parcourir toutes les lettres de cette façon :
Ensuite, il te faut une formule mathématique pour déterminer, en fonction du numéro de la page, combien de lettres tu as, et à quelle lettre tu en es. Par exemple, pour la page 3, ton "b" de "ab-zb" se retrouve en disant $lettre = $alphabet[3 - 2];
Attention, il faut gérer la page 1 à part.
Du coup, pour lister toutes les pages, sur un alphabet classique, avec au maximum 27 pages, on peut avoir :
Et on ne sait pas trop ce que tu veux obtenir pour les pages supérieures à la taille de l'alphabet. Si tu explicites je peux t'aider, mais sinon tu dois pouvoir trouver tout seul ;)
Xavier
    
                Tu peux parcourir toutes les lettres de cette façon :
$alphabet = "abcdefgh...ABCDEFGH...(-è_...";
$lettres = str_split($alphabet);
foreach ($lettres as $lettre)
{
    echo $lettre;
}
Ensuite, il te faut une formule mathématique pour déterminer, en fonction du numéro de la page, combien de lettres tu as, et à quelle lettre tu en es. Par exemple, pour la page 3, ton "b" de "ab-zb" se retrouve en disant $lettre = $alphabet[3 - 2];
Attention, il faut gérer la page 1 à part.
Du coup, pour lister toutes les pages, sur un alphabet classique, avec au maximum 27 pages, on peut avoir :
$page = $_GET["page"];
$alphabet = "abcdefghijklmnopqrstuvwxyz";
$suffixe = "";
if ($page > 1 && $page < strlen($alphabet) + 2)
    $suffixe = $alphabet[$page - 2];
$lettres = str_split($alphabet);
foreach ($lettres as $lettre)
{
    echo $lettre . $suffixe . "<br />";
}
Et on ne sait pas trop ce que tu veux obtenir pour les pages supérieures à la taille de l'alphabet. Si tu explicites je peux t'aider, mais sinon tu dois pouvoir trouver tout seul ;)
Xavier
    
    
    
    
Après c'est juste pour m'entraîner un peut, je ne sais pas encore quoi en faire, mais je saiq qu'il faut que sur la page s'affiche les suites de caractère, et que quand on a atteint Z, on doit générer un deuxième caractère dans la chaîne, puis une foi qu'on est a ZZ, on ajoute u' troisième, etc
Est-ce que tu te sens de chercher et implémenter un tel algorithme (puisque tu dis vouloir t'entraîner, faut pas qu'on te fasse tout !) ?
Le principe, c'est, pour la page n° P, de calculer le suffixe commun à tous les codes de la page ; et ensuite, d'itérer sur tout l'alphabet pour afficher les différents codes.
Cette partie commune est, mathématiquement, l'écriture inversée de la représentation de P dans la base N, où N est la taille de ton alphabet, écrit avec les éléments de l'alphabet.
$page = $_GET["page"]; $alphabet = "abcdefghijklmnopqrstuvwxyz"; $base = strlen($alphabet); // Calcul du suffixe commun à toute la page $suffixe = ""; $p = $page - 1; // On doit se décaler d'un car la première page est hors alphabet while ($p > 0) { $suffixe = $suffixe . $alphabet[($p - 1) % $base]; // On rajoute au suffixe la lettre en cours $p = (int)(($p - 1) / $base); // On passe à la lettre suivante } // Parcours de toutes les lettres à afficher sur la page en cours $lettres = str_split($alphabet); foreach ($lettres as $lettre) { echo $lettre . $suffixe . "<br />"; }