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

Langage PHP Discussion :

[PHP-JS] Imposer une condition sur l'affichage d'une variable


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 44
    Par défaut [PHP-JS] Imposer une condition sur l'affichage d'une variable
    Bonjour à tous,

    J'aimerais imposer des conditions d'affichage sur un champ texte (concrètement que même si la personne rentre un chiffre supérieur à 30 que celui ne s'affiche pas).

    Voici le morceau de code qui permets au visiteur de rentrer un chiffre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form method="post" action="insererth.php">
    <input name="th" type="text" size="5" maxlength="2">
    <input type="submit" name="submitth" value="ENREGISTRER">
    </div>
    </form>
    Voici le morceau en php :

    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
     
    <?
    //on se connecte à la base de donnée
    $db = mysql_connect('sql.free.fr','un.arbuste.vermillon','mot de passe') or die ("erreur de connexion");
     
    //on selectionne votre base
    mysql_select_db('topaze_tbl',$db) or die ("erreur de connexion base");
     
    //la requête de sélection des messages
    $req = mysql_query("SELECT th from topaze_tbl Limit 1") or die ("erreur requête");
    print'<div align="center">';
    print '<table  summary="">';
    //on ressort le contenu en boucle, et on stock dans un tableau avec mysql_fetch_array
    while( $contenu = mysql_fetch_array ($req))
    {
    print '<tr>';
    print '<td><font face="comic sans ms" color="#008000" size="3">'.$contenu[th].'</font></td>';
    print '</font></tr>';
    }
    print '</table>';
    print'</div>';
    mysql_close();
    ?>
    J'ai essayé quelques manipulations, j'arrive bien à ce que je veux sur un petit code tout simple (voir juste en dessous) mais pas pour celui du dessus.

    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
     
    // là pas de soucis, j'affiche ce que je veux
     
    <form method="post" action="essais.php"> 
    <input type="text" name="nom" size="12">
    <input type="submit" value="OK"> 
    </form>
     
    <?php 
    $nom = $_POST['nom']; 
    ?>
     
    <?php
    if ($nom < 50) 
    {echo "$nom";}
    else {echo "";} 
    ?>
    J'ai bien essayé de compiler ce petit script qui fonctionne avec mon code mais je n'obtiens rien.

    C'est ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while( $contenu = mysql_fetch_array ($req))
    qu'il faut modifier je pense.

    Qu'en pensez-vous ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 44
    Par défaut
    Donc je vais expliquer plus clairement ma demande.

    - Ce que j'ai actuellement : Un script me permettant d'enregistrer une variable dans une base de donnée (un.arbuste.vermillon) et me permettant également de l'afficher sur ma page (print '.$contenu[th].') (je vais rajouter les deux guillemets autour de th sur les conseils de quelques uns), voir le premier code php au dessus.

    - Ce que j'aimerais faire : Lorsqu'un visiteur passe sur ma page et rentre un chiffre trop grand (du genre 9999) celui ne s'affiche pas. Mais lorsque le chiffre est genre inférieur à 30 que celui-ci s'affiche. Cette petite condition à intégrer à mon premier code en php au dessus.

    - Suite aux conseils de quelques uns j'ai essayé ceci (je te mets juste la fin du code) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $contenu = mysql_fetch_assoc ($req);
    print '<tr>';
    print '<td><font face="comic sans ms" color="#008000" size="3">'($contenu['th'] < 50) ? $contenu['th'] : NULL;
    print '</font></tr>';
    print '</table>';
    print'</div>';
    mysql_close();
    ?>
    Vous aurez remarqué le mysql_fetch_assoc qu'on m'a conseillé d'utiliser à la place de mon mysql_fetch_array. Mais erreur sur la ligne ou je tente d'imprimer ce $contenu.

    Bref, moi ce que je veux c'est simplement éviter que mes visiteurs rentrent des chiffres abberants dans le champ texte.

    Bonne soirée à tous.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Par défaut
    je n'utilise pas l'instruction print, mais echo

    et la syntaxe est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'blabla', $variable;
    il y a donc une virgule entre deux champs (certaines personnes mettent le point de concaténation, mais c'est plus lent, donc mauvaise idée)

    je peux supposer (totalement gratuitement et peut-être absolument idiot) que c'est similaire avec print

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 44
    Par défaut
    Trouvé.

    Ok dans le head :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <SCRIPT LANGUAGE="Javascript">
    function foncth() 
    {if (document.formth.th.value > 30)
    document.formth.th.value ="";}
    </SCRIPT>
    Et dans le body :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form method="post" name="formth" action="insererth.php">
    <input name="th" type="text" size="5" maxlength="2" onChange="foncth()">
    <input type="submit" name="submitth" value="ENREGISTRER">
    </form>
    Par contre j'aimerais ajouter à la condition > 30 que lorsque le chiffre rentré pr le visiteur est égale à zéro que pareil rien ne s'affiche, possible ?

  5. #5
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    j'aurais mis onblur() plutot que onchange() .
    Comme ça la fonction sera appellée seulement lorsque le champ perdra le focus

    (Quand il n'est plus actif, quoi...)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 44
    Par défaut
    Parfait c'est édité .

    Pour ajouter à la condition " > 30 " que lorsque le chiffre rentré pr le visiteur est égale à zéro que pareil rien ne s'affiche, est-ce possible ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/09/2013, 15h23
  2. affichage par rapport à une condition sur 2 variables
    Par kilian67 dans le forum Langage
    Réponses: 3
    Dernier message: 22/07/2008, 13h32
  3. Réponses: 1
    Dernier message: 05/04/2007, 13h52
  4. Réponses: 4
    Dernier message: 03/05/2006, 13h58
  5. Pbs d'affichage d'une image sur un panel
    Par ysr1 dans le forum C++Builder
    Réponses: 2
    Dernier message: 23/09/2004, 09h55

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