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 :

Problème sur un test et afichage conditionnel [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut Problème sur un test et afichage conditionnel
    Bonjour,

    Je dois faire un test sur table et a partir du résultat je dois affiché ou pas certaine informations provenant d'une autre table.

    J'ai une table facture et une table relance

    Je récupère le numéro de la facture à relancer via l'url, donc j'ai fais une requete sur ma table relance pour connaitre le nombre de relance pour la facture :
    Si le nombre de relance est égal 4 , j'affiche un message "d'erreur signalant le nombre de relance"

    Sinon j'affiche mon formulaire pré-rempli avec un champs q a complèter


    Mais pour l'instant le résultat n'est pas ce que je veux,il y a un problème dans mon code

    voici le code de ma page

    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
     
     
    <?php
    if(!empty($_GET['facture'])){
     
    	$facture = $_GET['facture'];
     
    echo ("facture  :"); echo $facture;
     
    include ('../inc/inc_connexion.php');
    include ('../inc/fonction.php');
    //***********************************************************************************************************************
    // Ici je fais un test sur ma table relance afin de connaitre le nombre de relance qui ont été réalisé concernant la facture
     //Si le nombre de relance = 4  alors j'affiche un message sans le formulaire sinon  j'affiche les éléments dans mon formulaire 
     //***********************************************************************************************************************
     
    $nbrelance = mysql_query("SELECT COUNT(DISTICT rel_fact) as nb_relance FROM relance WHERE rel_facture = '".$facture."'");
     
     $relance = $nbrelance['nb_relance'];
     
    	If($relance >=4)
    		{
    			Echo "il y a déja $nbrelance de réaliser";
    		}
    	else
    		{
    			$reponse = mysql_query("SELECT fact_facture, fact_id FROM facture WHERE fact_facture = '".$facture."'");
     
    while ($donnees = mysql_fetch_array($reponse) )
    	{ 
    ?>
    <hr>
    <form method="GET" action="relance_01.php">
     
    		<label>Client : <input type ="text" name="numero" value="<?php echo $donnees['fact_id']; ?>" size="6"></label>
     
    		<label>Facture : <input type ="text" name="facture" value="<?php echo $donnees['fact_facture']; ?>" size="10"></label>
     
    		<label>Date: <input type="text" name="date" value="" size="10"></label>
     
    	<input type="submit" name="Modifier" value="actualiser">
    </form>
     
    <?php
     
    include('../inc/inc_connexion.php');
     
    if(isset($_GET['numero']) AND $_GET['numero'] != NULL
    AND isset($_GET['facture']) AND $_GET['facture'] != NULL
    AND isset($_GET['date']) AND $_GET['date'] != NULL)
    		{
    $id=$_GET['numero'];
    $facture=$_GET['facture'];
     
    $date=$_GET['date'];
    //Pour avoir 20100308 ; 
    $date=implode('-',array_reverse (explode('/',$date)));
     
     
    echo $date;
     
    $requete ="INSERT INTO relance values ('".$id."', '".$facture."', '".$date."')";
     
     
    $requete_execut = mysql_query( $requete ) or die(mysql_error());
     
    header('location:../vues/fiche_pdv.php?numero='.$id.'');
    				}
    			}
    		}
    	}
     
    ?>
    Je vous remercie de votre car la je suis un peux à la bourre

    Runcafre91

  2. #2
    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
    Par défaut
    Mais pour l'instant le résultat n'est pas ce que je veux,il y a un problème dans mon code
    Que veux-tu et qu'obtiens-tu ?

    Au passage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_GET['numero']) AND $_GET['numero'] != NULL
    ces deux tests sont redondants, le deuxieme ne sert a rien.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Bonsoir,

    je voudrais calculer le nombre de relance et si le résultat est égal à 4 j'affiche un message à la place du formulaire sinonj'affiche le formulaire que je dois complèté et inséré dans ma table relance.

    Ce test sert a limité le nombre de relance par facture (4 maximum)

    le code d'insertion en base fonctionne correctement seul le test ne me donne pas le résultat voulu.

    J'ai fais un test sur une facture a chaque fois je pouvais voir le formulaire même si j'avais déja 4 relances

    Merci de votre aide

    Runcafre91

  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
    Par défaut
    Tu as mis DISTICT au lieu de DISTINCT dans ta requête.

    La première chose qu'on doit faire quand on a un problème, c'est debuguer un peu.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2008
    Messages : 299
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu as mis DISTICT au lieu de DISTINCT dans ta requête.

    La première chose qu'on doit faire quand on a un problème, c'est debuguer un peu.
    re,

    Entre temps j'ai apporté des modifications j'avais pris le mauvais champs dans ma table, niveau résultata j'ai bien le nombre de relance pour la facture.

    Mais au niveau du test sur la facture cela ne fonctionne toujours pas.

    Le débugage a té fait dans phpadmin
    ci-dessous les modificatin apporté

    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
     
     
    <?php
    if(!empty($_GET['facture'])){
     
    	$facture = $_GET['facture'];
     
    echo ("facture  :"); echo $facture;
     
    include ('../inc/inc_connexion.php');
    include ('../inc/fonction.php');
    //***********************************************************************************************************************
    // Ici je fais un test sur ma table relance afin de connaitre le nombre de relance qui ont été réalisé concernant la facture
     //Si le nombre de relance = 4  alors j'affiche un message sans le formulaire sinon  j'affiche les éléments dans mon formulaire 
     //***********************************************************************************************************************
     
    $nbrelance = mysql_query("SELECT COUNT(DISTINCT rel_date) as nb_relance FROM relance WHERE rel_facture = '".$facture."'");
     
     $relance = $nbrelance['nb_relance'];
     
    	If($relance ==4)
    		{
    			Echo "il y a déja $nbrelance de réaliser";
    		}
    	else
    		{
    			$reponse = mysql_query("SELECT fact_facture, fact_id FROM facture WHERE fact_facture = '".$facture."'");
     
    while ($donnees = mysql_fetch_array($reponse) )
    	{ 
    ?>
    <hr>
    <form method="GET" action="relance_01.php">
     
    		<label>Client : <input type ="text" name="numero" value="<?php echo $donnees['fact_id']; ?>" size="6"></label>
     
    		<label>Facture : <input type ="text" name="facture" value="<?php echo $donnees['fact_facture']; ?>" size="10"></label>
     
    		<label>Date: <input type="text" name="date" value="" size="10"></label>
     
    	<input type="submit" name="Modifier" value="actualiser">
    </form>
     
    <?php
    Runcafre91

  6. #6
    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
    Par défaut
    Le premier debug a faire c'est de regarder ce que vaut $nbrelance['nb_relance']
    ($relance lui ne sert a rien dans ton code) puisqu'il ne vaut pas 4.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/10/2010, 12h50
  2. Réponses: 8
    Dernier message: 30/06/2010, 14h06
  3. Problème sur un test de valeur de cellule
    Par nolive915 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/04/2007, 13h40
  4. problème sur test if
    Par flo456 dans le forum ASP
    Réponses: 4
    Dernier message: 19/04/2006, 12h50
  5. [AS] Problème sur un test If
    Par PrinceMaster77 dans le forum Flash
    Réponses: 2
    Dernier message: 11/01/2006, 11h53

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