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 :

Limitation de caractere dans un champ de saisie


Sujet :

PHP & Base de données

  1. #1
    Invité
    Invité(e)
    Par défaut Limitation de caractere dans un champ de saisie
    Bonjour,

    Je suis en train de développer un programme qui génére un formulaire afin d'effectuer des enregistrements sur une table d'une bdd MySQL.

    Donc je fai une boucle qui scanne toutes mes colonnes de ma table et pour chaque colonne, je crée un titre et une zone de saisie (ci dessous le code)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for ($i=0; $i<$nbCols; $i++) // Scan des differentes colonnes de la table
    {
    echo "<input name='$nomsdeschamps[$i]' type='text' id='nom'>"; //$nomsdeschamps[$i] est une variable retourner par une fonction qui récupère tous les noms de champs de la table
     
    }
    Jusqu'ici il n'y a pas de problemes.

    Le problème vient que dans ma table j'ai limité le nombre de caractere par champs (ex : champ1=int(3), champ2=varchar(20) ).

    Afin d'éviter toutes erreures de saisies au maximum, j'ai réussi à coder une petite fonction qui limite le nombre de caractère à saisir mais ça s'applique sur toutes les zones de saisie et non sur une seule.

    voici la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    echo '<script>
    	function limiteur(maximum,champ)
    	{
    	//maximum = 10;
    	//champ = document.insertionForm.texte;
    	indic = document.insertionForm.indicateur;
     
    	if (champ.value.length > maximum)
    		champ.value = champ.value.substring(0, maximum);
    	else 
    	indic.value = maximum - champ.value.length;
    	}
    </script>';
    et voici comment je l'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for ($i=0; $i<$nbCols; $i++) // Scan des differentes colonnes de la table
    {
    $champ = "document.insertionForm.".$nomsdeschamps[$i];
    echo "<input name='$nomsdeschamps[$i]' type='text' id='nom' onKeyDown='limiteur(111,$champ);' onKeyUp='limiteur(111,$champ);'/>";
    }
    En gros ce que je souhaite faire c'est que mes champs crées dynamiquement (par rapport aux champs de la table) aient les memes taille que les champs de la table. Et que ceci soit fait de maniere dynamique et non pas faire 300 lignes de code pour attribuer une valeur max à chaque zone de saisie sachant que j'ai 53 champs dans ma table !
    J'espere avoir été clair et que quelqu'un sera m'aider

    Cordialement,

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    Tu peux limiter le nombre de caractère saisie dans l'input avec maxlength.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for ($i=0; $i<$nbCols; $i++) // Scan des differentes colonnes de la table
    {
    echo "<input name='$nomsdeschamps[$i]' type='text' id='nom' maxlength='111'>"; 
    }
    Mais pour le limiter que pour certains champs, tu dois mettre des conditions durant la génération pour ces champs selon les champs de la table .

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci pour ton information

    Si personne ne voit d'autre solutions je vais etre obliger de faire comme sa, créer une condition pour chaque champs (53) c'est un peu bourrin mais bon
    Dernière modification par Invité ; 08/07/2009 à 10h13.

Discussions similaires

  1. Compter le nombre de caracteres dans un champs
    Par joxbl dans le forum Langage SQL
    Réponses: 1
    Dernier message: 24/02/2006, 14h37
  2. Ne pas pouvoir écrire dans un champ de saisie
    Par Viau dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/02/2006, 14h13
  3. cocher checkbox = affecter la date dans un champ de saisie
    Par cari dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 19/01/2006, 13h50
  4. afficher du texte dans le champ de saisie de type file
    Par MANU_2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/09/2005, 14h59
  5. Calcul dans des champs de saisie
    Par leeloo076 dans le forum ASP
    Réponses: 4
    Dernier message: 07/04/2004, 10h09

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