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

PHP & Base de données Discussion :

Foreach correspondance avec alphabet [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 97
    Par défaut Foreach correspondance avec alphabet
    Bonjour

    Je me permets de vous poser la question, car je rencontre un problème que je ne comprend pas ??

    en effet, je souhaite lorsque l'on rentre des nombres dans un input text il me ressort les lettres de l'alphabet correpondant,

    voici le formulaire
    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
     
    <form id="form1" name="form1" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
      <input name="code" type="text" id="code" size="2" maxlength="2" />
      <input name="codee" type="text" id="codee" size="2" maxlength="2" />
      <input name="codeee" type="text" id="codeee" size="2" maxlength="2" />
      <input name="codeeee" type="text" id="codeeee" size="2" maxlength="2" />
      <input type="submit" name="button" id="button" value="Envoyer" />
    </form>
     
    ******************************************************* <br />
    <?php
    $n = (isset($_POST['code'])) ? mysql_real_escape_string($_POST['code']) : NULL;
    $nn = (isset($_POST['codee'])) ? mysql_real_escape_string($_POST['codee']) : NULL;
    $nnn = (isset($_POST['codeee'])) ? mysql_real_escape_string($_POST['codeee']) : NULL;
    $nnnn = (isset($_POST['codeeee'])) ? mysql_real_escape_string($_POST['codeeee']) : NULL;
     
     
    //création du tableau pour correspondance
    $tableau = array ('0' => 'A', 
      '1' => 'B',
      '2' => 'C',
      '3' => 'D',
      '4' => 'E',
      '5' => 'F',
      '6' => 'G',
      '7' => 'H',
      '8' => 'I', 
      '9' => 'J',
      '10' => 'K',
      '11' => 'L',
      '12' => 'M',
      '13' => 'N',
      '14' => 'O',
      '15' => 'P',
      '16' => 'Q', 
      '17' => 'R',
      '18' => 'S',
      '19' => 'T',
      '20' => 'U',
      '21' => 'V',
      '22' => 'W',
      '23' => 'X',
      '24' => 'Y', 
    				  '25' => 'Z');
     
     
     
    //boucle pour récupérér les valeurs 
     
    foreach ($tableau AS $key => $value){
     
    if ($key == $n){
    	 echo '  '.$value.' ' ;
    		    }
    if ($key == $nn){
    		echo '  '.$value.' ' ;
    			}
    if ($key == $nnn){
    		echo '  '.$value.' ' ;
    			}
    if ($key == $nnnn){
    		echo '  '.$value.' ' ;
    			}
    	}
     
    ?>
    mon code fonctionne mais les variables son inversés à l'affichage ??

    Par exemple, si je met dans le 1er champ la valeur 4
    Par exemple, si je met dans le 2eme champ la valeur 18
    Par exemple, si je met dans le 3eme champ la valeur 2
    Par exemple, si je met dans le 4eme champ la valeur 0

    qui correspond a CODE

    il m'affiche
    CDEO

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ta boucle se fait dans l'ordre de l'alphabet, donc ton résultat aussi.

    Mais ton code peut être largement simplifié :
    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
    <form id="form1" name="form1" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
      <input name="code[]" type="text" id="code" size="2" maxlength="2" />
      <input name="code[]" type="text" id="codee" size="2" maxlength="2" />
      <input name="code[]" type="text" id="codeee" size="2" maxlength="2" />
      <input name="code[]" type="text" id="codeeee" size="2" maxlength="2" />
      <input type="submit" name="button" id="button" value="Envoyer" />
    </form>
     
    ******************************************************* <br />
    <?php
    if (isset($_POST['code'])) {
    	$tableau = range('A','Z');
    	foreach ($_POST['code'] as $code) {
    		echo $tableau[(int)$code];
    	}
    }
    Et CODE c'est 2 14 3 4
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 97
    Par défaut
    OUI effectivemment je me suis trompé avec une autre chaine de nombre !!!!
    ton code est bien simplifié, je pensais marqué toutes les valeur du tableau array = ( $key => $value ), je ne pensais pas qu'on pouvait le faire aussi simplement que
    $tableau = range('A','Z');
    juste WHaouuu ..

    le fait de mettre "$var[]"(entre crochet) appelle un array ? (chose que je ne savais pas ... )

    Merci encore

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 97
    Par défaut
    je ne comprend pas bien le (int)$code

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est juste pour le détail car le formulaire renvoit des chaines ("0") et l'index du tableau est numérique (0).
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 22/10/2007, 09h38
  2. [MySQL] lister des champs et faire la correspondance avec leur description
    Par missnouvelle dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/06/2007, 09h16
  3. [MySQL] Correspondance avec une sous-chaîne
    Par ciel65 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/01/2007, 15h44
  4. SSIS : foreach loop avec Répertoire source variable ?
    Par kaboume dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 04/08/2006, 15h42
  5. [EJB] Correspondance avec Base de Données
    Par Lady_jade dans le forum Java EE
    Réponses: 6
    Dernier message: 16/09/2005, 16h47

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