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 :

soucis de while et de if et execution de code


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 3
    Points
    3
    Par défaut soucis de while et de if et execution de code
    salutation !

    je souhaiterais effectuer des requetes en fonction de la presence d'un numero d'affaire.
    si le numero entré par l'utilisateur existe dans une table, faire un certain nombre de requetes sinon en faire d'autres.

    le code :
    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
     
    $numentre = mysql_query("SELECT num_cli FROM client WHERE nom_entreprise = '".$_POST['nom']."'");
    $fetchnumentre = mysql_fetch_array($numentre); // chercher le num_cli en fonction du nom
    $numaff = "SELECT num_affaire FROM effectuer WHERE num_cli = '".$fetchnumentre['num_cli']."'";
    $qu = mysql_query($numaff);  // chercher le num_affaire en fonction du num_cli
     
    while($fe = mysql_fetch_array($qu))   // toutes les num_affaires du num_cli
    {
     
    echo $fe['num_affaire']."numero des affaires<br>";
     
    if  ($_POST['affaire'] == $fe['num_affaire'])    // si le num_affaire ecrit = num_affaire du num_cli
    {
    $inserer = mysql_query("INSERT INTO plan (num_plan,  echelle, date_creation) VALUES ('', '".$_POST['echelle']."','".$date."')");
    $affec = mysql_affected_rows();
    $numplan = mysql_insert_id();
     
    $nom =  "".$_POST['type']."-".$numplan." -0";
     
    $maj = mysql_query("UPDATE plan SET nom = '".$nom."' WHERE num_plan = '".$numplan."'");
    $majaff = mysql_affected_rows();
    $re = "INSERT INTO correspondre (num_affaire, num_plan) VALUES ('".$_POST['affaire']."', '".$numplan."')";
    $correspondrenou = mysql_query($re);
    $affcorresnouvo = mysql_affected_rows();
     
    echo "<center>le numéro du plan que vous avez inseré est le <u><i><b>N° ".$numplan."</b></i></u> <br> 
     son nom est <u><i><b>".$nom."</i></b></u></center>";
    }
    else // si $_POST['affaire'] != $fe['num_affaire']
    {
    $affaire = mysql_query("INSERT INTO affaire (num_affaire, date_affaire) VALUES ('', '".$date2."')");
    $affaffaire = mysql_affected_rows();
    $numaffaire = mysql_insert_id();
     
     
    $effectuernouv = mysql_query("INSERT INTO effectuer (num_cli, num_affaire) VALUES ('".$fetchnumentre['num_cli']."', '".$numaffaire."'");
    $fetcheffnouvo = mysql_affected_rows();
     
    $inserer = mysql_query("INSERT INTO plan (num_plan,  echelle, date_creation) VALUES ('', '".$_POST['echelle']."','".$date."')");
    $affec = mysql_affected_rows();
    $numplan = mysql_insert_id();
     
    $nom =  "".$_POST['type']."-".$numplan." -0";
     
    $maj = mysql_query("UPDATE plan SET nom = '".$nom."' WHERE num_plan = '".$numplan."'");
    $majaff = mysql_affected_rows();
     
    $correspondrenou = mysql_query("INSERT INTO correspondre (num_affaire, num_plan) VALUES ('".$numaffaire."', '".$numplan."')");
    $affcorresnouvo = mysql_affected_rows();
     
    $concernouvo = mysql_query("INSERT INTO concerner (num_affaire, num_livraison) VALUES ('', '".$numaffaire."')");
    $affconnouvo = mysql_affected_rows();
    echo "ok";
    }
    }
    alors donc mon problème est que si le numero d'affaire est egal à un numero d'affaire du cli numero X, ça m'execute tout le code alors que ça devrait m'executer que le 1er code (if ($_POST['affaire'] == $fe['num_affaire']) ...)

    se serait sympas si quelqu'un pourrait m'aider...

    ++

  2. #2
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Et si au lieu de else tu mets elseif(...)?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    oui j'ai testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elseif ($_POST['affaire'] != $fe['num_affaire'])
    mais ça ne marche pas plus
    que le numero existe ou non ça m'execute quand meme toutes les requetes.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    voici ce que ça donne comme erreurs (un seul plan est normalement inseré, on va dire que c'est le numero 1) :
    ==> si le num_affaire n'existe pas :
    - dans table affaire : insertion du num_affaire 1 et 2
    - dans table concerner : num_affaire 0 et 0 et num_livr 1 et 2
    - dans table correspondre : num_affaire 1 et 2 et num_plan 1 et 2
    - dans table plan : num_plan 1 et 2

    ==> si le num_affaire existe :
    - dans table affaire : num_affaire 1
    - dans table concrener : num_affaire 0 et num_livr 1
    - dans table correspondre : num_affaire 4 et 1 (4 num_affaire entré par l'utilisateur et qui existe) et num_plan 1 et 2
    - dans table plan : num_plan 1 et 2

    voilà

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    quelqu'un peut il m'expliquer pourquoi ça ne marche pas?

  6. #6
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    C'est la déchirure ça m'a fait exactement pareil (cf mon post "If executé mais else aussi") et je n'ai trouvé aucun solution... Je sais pas ce que c'est
    Un truc que j'ai pas essayé: si tu mets:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (...):
       [...]
    else:
       [...]
    endif;
    ?

Discussions similaires

  1. nouveau petit souci de while
    Par spads dans le forum Langage
    Réponses: 6
    Dernier message: 06/06/2012, 13h16
  2. Souci avec While
    Par Moktar19 dans le forum Débuter
    Réponses: 9
    Dernier message: 13/11/2008, 23h26
  3. Executer du code binaire au sein d'un programme
    Par Hidekii dans le forum MFC
    Réponses: 13
    Dernier message: 07/09/2005, 22h10
  4. [FLASH MX2004] Rien ne se passe qd j'execute mon code
    Par adilou1981 dans le forum Flash
    Réponses: 2
    Dernier message: 27/07/2005, 23h31
  5. [C#]Comment executer du code qui se trouve dans une string ?
    Par freddyboy dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/02/2005, 16h31

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