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 :

Limiter les conditions


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut Limiter les conditions
    Bonjour,

    Je souhaite savoir si il y a une façon pour éviter de saturer le code avec les if.

    Voici un exemple :

    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
    if((!($code1 == NULL)) and (!($zone1 == NULL)) and(!($values == NULL)) )
    {
     
     
     foreach($mots as $mot)
            {
    $sql.="SELECT * FROM afficher,doc WHERE  afficher.idqrqc = doc.idqrqc and  code='$code1' and zone='$zone1'  $sql_types and titre LIKE '%$mot%' UNION ";
     }
     
    $sql=substr($sql,0,-6);
     
     
    $req = mysql_query($sql, $cnx) 
     		   or 
     		  die("Pb dans la requête : " . mysql_error($cnx));
     
     }
    Evidement c'est pour un formulaire de recherche par critère.

    Si je met pas de conditions, quand la personne ne rempli pas un champ, il y aura aucun résultat qui s'affiche parce que il compare (je pense) avec le vide.

    Merci à vous

  2. #2
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    'Saturer le code avec des if', Je ne vois pas en quoi c'est un problème. Les conditions, comme les boucles, si elles sont utiles, sont l'alpha et l'omega de la programmation !

    Par contre une remarque, moi, pour rendre les choses pratiques et lisibles, je code ainsi cette problématique classique des développements PHP, imaginons qu'aucun champ ne doive rester vierge :
    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
     
    if(isset($_POST){
       $complet=true;
       foreach($_POST as $input){
          if($input==NULL || $input==''){//toujours penser au champ saisi puis effacé
             $complet=false;
          }
       }
       if($complet){
          //je traite
       }
       else{
          //je bloque et je retourne un message en rouge.
       }
    }

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut
    Oui, mais je n'arrive pas trop à gérer tout ça !

    C'est un formulaire de recherche et je veux rien imposer. Genre dans le cas ou la personne ne coche rien, le résultat est : toutes les données de la BD. etc

    Le problème est que j'ai plusieurs champ et donc si je continue avec cette méthode, pour chaque nouveau champ il faut ajouter d'autres conditions

    nbre de requète = X puissance 2 (X est le nombre de champ)

    je sais pas si c'est claire ou pas

  4. #4
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Je t'ai déjà indiqué d'utiliser des AND/OR plutôt que de faire des UNION.
    Ca te ferra une seule requête quelque que soit le nombre de critère.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut
    La je parle d'autre chose !
    Union concerne la recherche par mot clé


    je parle de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if((!($code1 == NULL)) and (!($zone1 == NULL)) and(!($values == NULL)) )

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Points : 8 499
    Points
    8 499
    Billets dans le blog
    17
    Par défaut
    @Dendrite

    Quelques remarques :

    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
    if(isset($_POST){ // isset inadapté car $_POST toujours définie
       $complet=true;
       foreach($_POST as $input){
          // $input ne vaudra jamais NULL : chaîne de caractère vide ou renseignée
          if($input==NULL || $input==''){//toujours penser au champ saisi puis effacé
             $complet=false;
          }
       }
       if($complet){
          //je traite
       }
       else{
          //je bloque et je retourne un message en rouge.
       }
    }
    Donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if( ! empty($_POST) ){ // Form soumis ?
       $complet=true;
       foreach($_POST as $input){
          if($input==''){
             $complet=false;
          }
       }
       if($complet){
          //je traite
       } else{
          //je bloque et je retourne un message en rouge.
       }
    }

  7. #7
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    En quoi ce if augmente le nombre de requête ?

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Points : 8 499
    Points
    8 499
    Billets dans le blog
    17
    Par défaut
    Le problème est que j'ai plusieurs champ et donc si je continue avec cette méthode, pour chaque nouveau champ il faut ajouter d'autres conditions

    nbre de requète = X puissance 2 (X est le nombre de champ)
    Un nombre de critères plus élevés ne devrait pas faire augmenter le nombre de requêtes.
    Le nombre de requêtes doit rester ~le même : ~1.

    Donne-nous ton schéma de base de données, un exemple de formulaire et stp présente/indente ton code correctement.

  9. #9
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    Merci Seb, c'est noté.

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut
    Voici le formulaire de recherche en mode simplifier

    Code html : 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
    <body>
    <table style="text-align: left; width: 100%;" border="0"
     cellpadding="2" cellspacing="2">
      <tbody>
        <tr>
          <td colspan="3" rowspan="1">  
     
    	  <div>Code<input  name="code1" value="" type="text" placeholder="Ex: 15227"  pattern="[0-9]{5}" /></div>
     
    	  </td>
        </tr>
        <tr>
          <td colspan="3" rowspan="1">
     
    	  <div>Mots clés<input   name="titre1" value="" type="text"  " /></div>
     
    	  </td>
        </tr>
        <tr>
          <td colspan="3" rowspan="1">
     
    	  <div style="text-align: left;">Type de défaut</div>
    	  </td>
        </tr>
        <tr>
          <td>
     
    	  <div><input name="checkbox[]" value="Choqués" id="choques"  type="checkbox"> <label for="choques">Choqués</label>
    </div>
    <div><input name="checkbox[]" value="Décor_accroché" id="decor_accroche" type="checkbox"> <label for="decor_accroche">Décor accroché</label><br>
    </div>
    <div><input name="checkbox[]" value="Décor_décalé" id="decor_decale" type="checkbox"> <label for="decor_decale">Décor décalé</label><br>
    </div>
    <div><input name="checkbox[]" value="Décor_déformé" id="decor_deforme" type="checkbox"> <label for="decor_deforme">Décor déformé</label>
    </div>
    <div><input name="checkbox[]" value="Décor_rétracté" id="decor_retracte" type="checkbox"> <label for="decor_retracte">Décor rétracté</label><br>
    </div>
    <div><input name="checkbox[]" value="Décor_voilé" id="decor_voile" type="checkbox"> <label for="decor_voile">Décor voilé</label><br>
    </div>
     
     
    	  </td>
          <td>
     
    	  </td>
        </tr>
        <tr>
          <td colspan="3" rowspan="1">Zone
    <div><input type="radio" name="zone1" value="Décor" id="decor" /> <label for="decor">Decor</label><br />
    </div>
    <div>
                    <input type="radio" name="zone1" value="Laquage" id="laquage" /> <label for="laquage">Laquage</label><br />
    </div>				
    <div>
    				<input type="radio" name="zone1" value="Dépoli" id="depoli" /> <label for="depoli">Dépoli</label><br />
    </div>				
    <div>
    				<input type="radio" name="zone1" value="Sablage" id="sablage" /> <label for="sablage">Sablage</label><br />
    </div>
     
    	  </td>
        </tr>
      </tbody>
    </table>
     
     
    <center><input type="submit" value="Chercher"  />

    et voila le php (simplifié aussi)


    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
    if(isset($_POST['code1']))      $code1=$_POST['code1'];
    else      $code1="";
     
     
    if(isset($_POST['zone1']))      $zone1=$_POST['zone1'];
    else      $zone1="";
     
     
    if(isset($_POST['titre1']))                                                    
     
            $rec = ($_POST['titre1']);                             
     
     
    if (isset($_POST['checkbox']))
    foreach (
    $_POST['checkbox'] as $checkbox){
    $values[]=$checkbox;
    }
    else {
    $values[0]="Choqués";
    $values[1]="Décor_accroché";
    $values[2]="Décor_décalé";
    $values[3]="Décor_déformé";
    $values[4]="Décor_rétracté";
    $values[5]="Décor_voilé";
    $values[6]="Ebréchés";
    }
     
    $arrlength=count($values);
    if ($arrlength=='1'){
    	$sql_types= " AND defaut='$values[0]'";
    }elseif ($arrlength=='2'){
    	$sql_types= " AND defaut in('$values[0]','$values[1]')";
    }
    elseif ($arrlength=='3'){
    	$sql_types= " AND defaut in('$values[0]','$values[1]','$values[2]')";
    }
    elseif ($arrlength=='4'){
    	$sql_types= " AND defaut in('$values[0]','$values[1]','$values[2]','$values[3]')";
    }
    elseif ($arrlength=='5'){
    	$sql_types= " AND defaut in('$values[0]','$values[1]','$values[2]','$values[3]','$values[4]')";
    }
    elseif ($arrlength=='6'){
    	$sql_types= " AND defaut in('$values[0]','$values[1]','$values[2]','$values[3]','$values[4]','$values[5]')";
    }
    elseif ($arrlength=='7'){
    	$sql_types= " AND defaut in('$values[0]','$values[1]','$values[2]','$values[3]','$values[4]','$values[5]','$values[6]')";
    }
     
     
    f((!($code1 == NULL)) and (!($zone1 == NULL)) and(!($values == NULL)) )
    {
     
     
     foreach($mots as $mot)
            {
    $sql.="SELECT * FROM afficher,doc WHERE  afficher.idqrqc = doc.idqrqc and  code='$code1' and zone='$zone1'  $sql_types and titre LIKE '%$mot%' UNION ";
     }
    //quand la boucle est terminée, il faut enlever le dernier union
    $sql=substr($sql,0,-6);
     
     
    $req = mysql_query($sql, $cnx) 
     		   or 
     		  die("Pb dans la requête : " . mysql_error($cnx));
     
     }
     
     
     
     
    		  else if((($code1 == NULL)) and (!($zone1 == NULL)) and (!($values == NULL)))
    {
     
    foreach($mots as $mot)
            {
    $sql.="SELECT * FROM afficher,doc WHERE  afficher.idqrqc = doc.idqrqc  and zone='$zone1'  $sql_types and titre LIKE '%$mot%'
     
    UNION ";
     }
    //quand la boucle est terminée, il faut enlever le dernier union
    $sql=substr($sql,0,-6);
     
     
    $req = mysql_query($sql, $cnx) 
     		   or 
     		  die("Pb dans la requête : " . mysql_error($cnx));
    		  }
    else if pour chaque cas

    au total sa me donne 9 if pour 3 champ, et comme je vais avoir 6 ou 7 champ donc ....

  11. #11
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Points : 8 499
    Points
    8 499
    Billets dans le blog
    17
    Par défaut
    Voici le formulaire de recherche en mode simplifier
    Eh bien, qu'est-ce que ça aurait été sinon ?

    Je regarde.

  12. #12
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Points : 8 499
    Points
    8 499
    Billets dans le blog
    17
    Par défaut
    Le <form> nettoyé/simplifié un minimum :

    Code html : 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
    <form method="post">
     
    <p>Code <input name="code1" type="text"></p>
     
    <p>Mots clés <input name="titre1"></p>
     
    <p>Type de défaut<br>
    <input name="checkbox[]" value="Choqués"  type="checkbox">Choqués<br>
    <input name="checkbox[]" value="Décor_accroché" type="checkbox">Décor accroché<br>
    <input name="checkbox[]" value="Décor_décalé" type="checkbox">Décor décalé<br>
    <input name="checkbox[]" value="Décor_déformé" type="checkbox">Décor déformé<br>
    <input name="checkbox[]" value="Décor_rétracté" type="checkbox">Décor rétracté<br>
    <input name="checkbox[]" value="Décor_voilé" type="checkbox">Décor voilé</p>
     
    <p>Zone<br>
    <input type="radio" name="zone1" value="Décor">Decor<br>
    <input type="radio" name="zone1" value="Laquage">Laquage<br>
    <input type="radio" name="zone1" value="Dépoli">Dépoli<br>
    <input type="radio" name="zone1" value="Sablage">Sablage</p>
     
    <p><input type="submit"></p>
     
    </form>

  13. #13
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Points : 8 499
    Points
    8 499
    Billets dans le blog
    17
    Par défaut
    Bon donc apparemment ton problème concerne le traitement de $_POST['checkbox'].

    Le plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sql = 'SELECT ... FROM ... WHERE ...' ;
     
    if ( ! empty($_POST['checkbox']) ) {
        $defauts = implode('\', \'', $_POST['checkbox']) ;
        $sql .= " AND defaut IN('$defauts')" ;
    }
    Ainsi ta requête s'adaptera automatiquement au nombre de critère sélectionné.



    PS : faudra penser impérativement à renommer le champ "checkbox" en "defauts" par exemple

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut
    Merci Séb.

    Mais je répète encore une fois je parle des if

    tu vois bien dans l'exemple que je vais avoir :

    1 if
    7 else if
    1 else

    et tt sa pour 3 champ (code, zone, type)

    je vais avoir encore 4 champ, donc sa me fera (je pense) 49 if et c'est trop

    je suis vraiment débutant et je sais pas si il y a une autre manière pour gérer tt sa

  15. #15
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Autre piste de simplification :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $inputs = array('code1', 'zone1', 'titre1');
    foreach ($inputs as $name) {
       if (!empty($_POST[$name]) {
             $criteres[$name] = mysql_real_escape_string($_POST[$name]);
       }
    }
    et ensuite pour la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($criteres as $name => $value) {
         $sql .= ' AND ' . $name . ' = ' . $value;
    }

  16. #16
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Points : 8 499
    Points
    8 499
    Billets dans le blog
    17
    Par défaut
    tu vois bien dans l'exemple que je vais avoir :

    1 if
    7 else if
    1 else
    Ceci (et même plus) :

    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
    if (isset($_POST['checkbox']))
    foreach (
    $_POST['checkbox'] as $checkbox){
    $values[]=$checkbox;
    }
    else {
    $values[0]="Choqués";
    $values[1]="Décor_accroché";
    $values[2]="Décor_décalé";
    $values[3]="Décor_déformé";
    $values[4]="Décor_rétracté";
    $values[5]="Décor_voilé";
    $values[6]="Ebréchés";
    }
     
    $arrlength=count($values);
    if ($arrlength=='1'){
    	$sql_types= " AND defaut='$values[0]'";
    }elseif ($arrlength=='2'){
    	$sql_types= " AND defaut in('$values[0]','$values[1]')";
    }
    elseif ($arrlength=='3'){
    	$sql_types= " AND defaut in('$values[0]','$values[1]','$values[2]')";
    }
    elseif ($arrlength=='4'){
    	$sql_types= " AND defaut in('$values[0]','$values[1]','$values[2]','$values[3]')";
    }
    elseif ($arrlength=='5'){
    	$sql_types= " AND defaut in('$values[0]','$values[1]','$values[2]','$values[3]','$values[4]')";
    }
    elseif ($arrlength=='6'){
    	$sql_types= " AND defaut in('$values[0]','$values[1]','$values[2]','$values[3]','$values[4]','$values[5]')";
    }
    elseif ($arrlength=='7'){
    	$sql_types= " AND defaut in('$values[0]','$values[1]','$values[2]','$values[3]','$values[4]','$values[5]','$values[6]')";
    }
    A été remplacé avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ( ! empty($_POST['checkbox']) ) {
        $defauts = implode('\', \'', $_POST['checkbox']) ;
        $sql .= " AND defaut IN('$defauts')" ;
    }
    Si ça ne te suffit pas alors il faudra que tu sois plus précis dans ta demande.

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut
    Dans le code je dis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if((!($code1 == NULL)) and (!($zone1 == NULL)) and(!($values == NULL)) )
    dans le cas ou tt est coché

    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    else if((($code1 == NULL)) and (!($zone1 == NULL)) and (!($values == NULL)))
    si tt est coché sauf code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    else if((!($code1 == NULL)) and (($zone1 == NULL)) and (!($values == NULL)))
    si tt est coché sauf zone

    etc

    je sais que c'est pas une méthode propre c'est pour je cherche une méthode plus facile

  18. #18
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Points : 8 499
    Points
    8 499
    Billets dans le blog
    17
    Par défaut
    C'est quoi l'intérêt de faire ça ?

    Quelles sont tes contraintes ?

    Au lieu de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( (!($code == NULL)) ) {
    Fais :

    Déjà t'y verras plus clair.

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 36
    Points
    36
    Par défaut
    Si je fais pas ça, et que le champ n'est pas rempli, il va chercher dans la colonne un champ vide et il m'affiche rien, c'est pour ça si il est vide je le met pas dans la requète

  20. #20
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Points : 8 499
    Points
    8 499
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par yotman Voir le message
    Si je fais pas ça, et que le champ n'est pas rempli, il va chercher dans la colonne un champ vide et il m'affiche rien, c'est pour ça si il est vide je le met pas dans la requète
    Combien de champs ? Quels sont leurs noms ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/09/2005, 10h53
  2. Composant pour limiter les décimales à deux
    Par Droïde Système7 dans le forum Composants VCL
    Réponses: 9
    Dernier message: 20/08/2005, 12h00
  3. Limiter les déplacement de la souris a la fenetre
    Par Mathieu.J dans le forum OpenGL
    Réponses: 22
    Dernier message: 11/06/2004, 12h55
  4. Limiter les 30dernière liste de données?
    Par SkyDev dans le forum Langage SQL
    Réponses: 11
    Dernier message: 08/03/2004, 17h01
  5. Comment limiter les mouvements du curseur??
    Par scorpiwolf dans le forum C++Builder
    Réponses: 9
    Dernier message: 07/07/2002, 22h09

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