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 :

Condition sur contenu d'un champ


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 41
    Points : 25
    Points
    25
    Par défaut Condition sur contenu d'un champ
    Bonjour, j'ai un ptit souci.
    J'ai un formulaire ou l'on check les application qu'on souhaite et ou on rentre notre login :
    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
     
    <form action="form.php" method="post" name="monform">
    <?php
    	 include("../Connections/connec.php");
    mysql_select_db('satisfaction')  or die('Erreur de selection '.mysql_error());
    	 $result = mysql_query("SELECT nom_appli FROM appli");
    		 while ($row = mysql_fetch_array($result))  
    		 {
    		 echo "<b>";
    		 echo $row["nom_appli"];
    		 echo " :</b>";
    		 echo "<input type=\"checkbox\" name=\"";
    		 echo $row["nom_appli"]; 
    		 echo "\"><br>";
    		 }
    		 echo "</td><td align=\"right\">";
    		 $result1 = mysql_query("SELECT nom_appli_fr FROM appli_fr");
    		 while ($row = mysql_fetch_array($result1))  
    		 {
    		 echo "<b>";
    		 echo $row["nom_appli_fr"];
    		 echo " :</b>";
    		 echo "<input type=\"checkbox\" name=\"";
    		 echo $row["nom_appli_fr"]; 
    		 echo "\"><br>";
    		 }
    		 echo "</td>";
    		 mysql_close();
    	 ?>
         </tr>
         </table>
         <br><br>
         <p align="center"><input name="login" type="text" />
         <br>
         <button style="cursor:hand; background:navy; color:white; border:solid 1px black;" type="submit">Commencer</button></p>
                </form>
    et ensuite cela l'envoi vers un autre formulaire qui doit recuperer les application checké par l'utilisateur :
    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
     
    <form action="Add.php" method="post" name="monform2" onsubmit="return donneavis()">
    <?php 
    		 include("../Connections/connec.php");
    mysql_select_db('satisfaction')  or die('Erreur de selection '.mysql_error());
    $result = mysql_query("SELECT nom_appli FROM appli");
    		 while ($row = mysql_fetch_array($result))  
    		 {
    		 if(document.monform.$row["nom_appli"].checked==true)
    		 {
    		echo "Pour l'application <b>"; 
    		echo $row["nom_appli"];
    		echo "</b> vous êtes :<br><br>"; 
    		echo "<table width=\"600\">
    		<tr>
    		<td align=\"center\">";
    	 echo "
    	 <button style=\"cursor:hand; background:crimson; color:white; border:solid 1px black;\" type=\"button\" disabled >Très insatisfait</button>
    	 </td>";
    	 echo "<td align=\"center\">
    	 <button style=\"cursor:hand; background:firebrick; color:white; border:solid 1px black;\" type=\"button\" disabled >Insatisfait</button>
    	 </td>";
    	 echo "<td align=\"center\">
    	 <button style=\"cursor:hand; background:tan; color:white; border:solid 1px black;\" type=\"button\" disabled >Moyen</button>
    	 </td>";
    	 echo "<td align=\"center\">
    	 <button style=\"cursor:hand; background:greenyellow; color:white; border:solid 1px black;\" type=\"button\" disabled >Bien</button>
    	 </td>";
    	 echo "<td align=\"center\">
    	 <button style=\"cursor:hand; background:forestgreen; color:white; border:solid 1px black;\" type=\"button\" disabled >Exellent</button>
    	 </td>";
    	 echo "<td align=\"center\">
    	 <button style=\"cursor:hand; background:grey; color:white; border:solid 1px black;\" type=\"button\" disabled >Non utilisé</button>";
    		echo "</td>
    		</tr>
    		<tr>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"1\" name=\"";
    		echo $row["nom_appli"]; 
    		echo "\"></td>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"2\" name=\"";
    		echo $row["nom_appli"]; 
    		echo "\"></td>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"3\" name=\"";
    		echo $row["nom_appli"]; 
    		echo "\"></td>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"4\" name=\"";
    		echo $row["nom_appli"]; 
    		echo "\"></td>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"5\" name=\"";
    		echo $row["nom_appli"]; 
    		echo "\"></td>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"NULL\" name=\"";
    		echo $row["nom_appli"]; 
    		echo "\"></td>";
    		echo "</tr>
    		</table>
    		<br>";
    		}
    	 }
    Voila, c'est a mon avis cette ligne la qui plante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(document.monform.$row["nom_appli"].checked==true)
    Cela ne doit pas etre la bonne syntaxe, il me met aucune erreur, mais le probleme c'est qu'il me met toutes les applications alors que je ne les ait pas toutes coché au formulaire precedent

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ouh la ! c'est normal que ça plante, ce que tu testes n'est pas du php mais du javascript (enfin du javascript mélangé à une variable php)

    Pour tester en php si une checkbox nom a été coché, il faut tester l'existence de la variable $_POST['nom']. Si la check box n'est pas cochée, la variable n'est pas créée...
    donc ta condition devrait être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST[$row["nom_appli"]]))
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(document.monform.$row["nom_appli"].checked==true)
    C'est une synthaxe javascript mélangée à du PHP ça non?

    J'ai jamais vu qu'on pouvait faire un document.monform en PHP

    Alors il faudra traiter en PHP la variablé passée en argument
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if($_POST['nom_appli']=='on')

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 41
    Points : 25
    Points
    25
    Par défaut
    Merci celira

    PS : Je savais que c'était du javascript mais je savais pas le remplacer en php
    En tout cas merci.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 41
    Points : 25
    Points
    25
    Par défaut
    Re petite question quand le nom de l'application n'est pas en un seul mot il ne me l'affiche pas dans le formulaire.

    Comment ca se fait ?
    Il faut mettre des guillemets, apostrophes, ... ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $row["nom_appli"];

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    ça veut dire que tu as des checkboxs qui ont un nom avec un espace dedans ? Je suis pas sure que ce soit autorisé... Tu pourrais peut-être replacer l'espace par un Underscore, pour éviter les problèmes.
    [EDIT] ce n'est pas autorisé du tout donc tu n'as pas le choix il faut remplacer[/EDIT]
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 41
    Points : 25
    Points
    25
    Par défaut
    D'accord celira merci pour cette explication

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 41
    Points : 25
    Points
    25
    Par défaut
    Celira tu pourras encore peut etre m'aidé car une fois que j'arrive dans le formulaire avec les boutons radios, je voudrais vérifier que l'utilisateur ait bien mis une reponse pour toute les questions.
    Je pense qu'il faut faire une fonction ? avec le bouton submit (onclick) ?

    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
     
    <form action="Add.php" method="post" name="monform2" onsubmit="return donneavis()">
    <?php 
    		 include("../Connections/connec.php");
    mysql_select_db('satisfaction')  or die('Erreur de selection '.mysql_error());
    $result = mysql_query("SELECT nom_appli FROM appli");
    		 while ($row = mysql_fetch_array($result))  
    		 {
    		 if(isset($_POST[$row["nom_appli"]]))
    		 {
    		echo "Pour l'application <b>"; 
    		echo $row["nom_appli"];
    		echo "</b> vous êtes :<br><br>"; 
    		echo "<table width=\"600\">
    		<tr>
    		<td align=\"center\">";
    	 echo "
    	 <button style=\"cursor:hand; background:crimson; color:white; border:solid 1px black;\" type=\"button\" disabled >Très insatisfait</button>
    	 </td>";
    	 echo "<td align=\"center\">
    	 <button style=\"cursor:hand; background:firebrick; color:white; border:solid 1px black;\" type=\"button\" disabled >Insatisfait</button>
    	 </td>";
    	 echo "<td align=\"center\">
    	 <button style=\"cursor:hand; background:tan; color:white; border:solid 1px black;\" type=\"button\" disabled >Moyen</button>
    	 </td>";
    	 echo "<td align=\"center\">
    	 <button style=\"cursor:hand; background:greenyellow; color:white; border:solid 1px black;\" type=\"button\" disabled >Bien</button>
    	 </td>";
    	 echo "<td align=\"center\">
    	 <button style=\"cursor:hand; background:forestgreen; color:white; border:solid 1px black;\" type=\"button\" disabled >Exellent</button>
    	 </td>";
    		echo "</tr>
    		<tr>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"1\" name=\"";
    		echo $row["nom_appli"]; 
    		echo "\"></td>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"2\" name=\"";
    		echo $row["nom_appli"]; 
    		echo "\"></td>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"3\" name=\"";
    		echo $row["nom_appli"]; 
    		echo "\"></td>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"4\" name=\"";
    		echo $row["nom_appli"]; 
    		echo "\"></td>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"5\" name=\"";
    		echo $row["nom_appli"]; 
    		echo "\"></td>";
    		echo "</tr>
    		</table>
    		<br>";
    		}
    	 }
    	$result3 = mysql_query("SELECT nom_appli_fr FROM appli_fr");
    		 while ($row = mysql_fetch_array($result3))  
    		 {
    		 if(isset($_POST[$row["nom_appli_fr"]]))
    		 {
    		echo "Pour l'application <b>"; 
    		echo $row["nom_appli_fr"];
    		echo "</b> vous êtes :<br><br>"; 
    		echo "<table width=\"600\">
    		<tr>
    		<td align=\"center\">";
    	 echo "
    	 <button style=\"cursor:hand; background:crimson; color:white; border:solid 1px black;\" type=\"button\" disabled >Très insatisfait</button>
    	 </td>";
    	 echo "<td align=\"center\">
    	 <button style=\"cursor:hand; background:firebrick; color:white; border:solid 1px black;\" type=\"button\" disabled >Insatisfait</button>
    	 </td>";
    	 echo "<td align=\"center\">
    	 <button style=\"cursor:hand; background:tan; color:white; border:solid 1px black;\" type=\"button\" disabled >Moyen</button>
    	 </td>";
    	 echo "<td align=\"center\">
    	 <button style=\"cursor:hand; background:greenyellow; color:white; border:solid 1px black;\" type=\"button\" disabled >Bien</button>
    	 </td>";
    	 echo "<td align=\"center\">
    	 <button style=\"cursor:hand; background:forestgreen; color:white; border:solid 1px black;\" type=\"button\" disabled >Exellent</button>
    	 </td>";
    		echo "</tr>
    		<tr>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"1\" name=\"";
    		echo $row["nom_appli_fr"]; 
    		echo "\"></td>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"2\" name=\"";
    		echo $row["nom_appli_fr"]; 
    		echo "\"></td>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"3\" name=\"";
    		echo $row["nom_appli_fr"]; 
    		echo "\"></td>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"4\" name=\"";
    		echo $row["nom_appli_fr"]; 
    		echo "\"></td>";
    		echo "<td align=\"center\">
    		<input type=\"radio\" value=\"5\" name=\"";
    		echo $row["nom_appli_fr"]; 
    		echo "\"></td>";
    		echo "</tr>
    		</table>
    		<br>";	
    		}							
    	 }
    	 mysql_close();
    	 ?>
              </br>
              <input type="submit" value="Envoyer" style="cursor:hand; background:navy; color:white; border:solid 1px black;">
              <input type="reset" value="Recommencer" style="cursor:hand; background:navy; color:white; border:solid 1px black;">   
                </form>

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

Discussions similaires

  1. [AC-2007] Condition sur valeur d'un champs d'une table en VBA
    Par em3869 dans le forum VBA Access
    Réponses: 3
    Dernier message: 20/08/2012, 12h49
  2. requete basee sur contenu d'un champ text
    Par Teddy7 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/09/2010, 14h26
  3. [VS 2008] condition sur la valeur du champ de la colonne du rapport
    Par khawlita dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 15/05/2009, 12h07
  4. Requete : Condition sur la longueur du champ
    Par uskiki85 dans le forum Access
    Réponses: 1
    Dernier message: 23/01/2006, 16h00
  5. Problème de requête avec cumul des conditions sur un champ
    Par UtopieAmbiante dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/01/2006, 10h52

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