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 :

[Conception] pas d'affichage dans un tableau


Sujet :

PHP & Base de données

Vue hybride

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Par défaut [Conception] pas d'affichage dans un tableau
    Bonjour, j'ai créer une table de donnée pour afficher la liste des clients apres une inscription dans un formulaire d'inscription.

    Dans ce formulaire il est question de plusieurs champs a remplir sauf un seul: le code de la catégorie client.

    Par exemple le client est UN MAGASIN détaillant je veux lui attribuer un code ("MAG" dans mon cas).

    A défaut que le client remplisse dans le formulaire a quel code il appartient, j'aimerais savoir comment implanté celui dans un tableau. (les autres champs sotn affichés dans mon tableau sauf celui-ci donc...)

    J'ai créer par ailleurs, en plus de la table Client, la table categclient qui va attribuer le code (en clé étrangère a codecatcl de la table client...mais bizzarement celui-ci ne s'affiche pas aussi dans la table client.)

    Voila mes différents codes:

    Inscription:

    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
    <html>
     <body>
      <?php
     
    	// Affectation des valeurs saisies dans des variables
     
    		        $login=$_POST['login'];
                            $Nom=$_POST['Nomcl'];
                            $Prenom=$_POST['Prenomcl'];
    			$Adresse=$_POST['Adrescl'];
    			$codepostale=$_POST['cpcl'];
                            $ville=$_POST['villecl'];
                            $pass=$_POST['pwd'];
    	                $type=$_POST['TypeCl'];
    			$code=$_POST['codeCatCl'];				
     
            // Connexion au serveur MySQL
    			$db=mysql_connect("localhost","root","root") or die("erreur de connexion".mysql_error());
     
    	// Ouverture de la base VPC2
    			mysql_select_db("fringues",$db) or die("erreur de connexion à la base fringues");
     
    	// Requête d'insertion des valeurs dans la table CLIENT
    			$reqC="INSERT INTO client
                            VALUES('','$login','$Nom','$Prenom','$Adresse','$codepostale','$ville','$pass','$code', '$type')";
     
                            mysql_query($reqC) or die("erreur".mysql_error());
     
            // Requête d'insertion des valeurs dans la table USER
    			$reqC="INSERT INTO USER
                            VALUES('','$login','$pass')";
     
     
           // Exécution de la requête
    			mysql_query($reqC) or die("erreur".mysql_error());
    			echo "Vos coordonnées ont été enregistrées.<br /><br />";
     
    	// Fermeture de la connexion à MySQL
    			mysql_close();
     
    	?>
     </body>
    </html>
    l'erreur apres l'isncription:

    Notice: Undefined index: codeCatCl in inscription.php on line 15

    Formualire HTML:

    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
    <html><title> formulaire simplifié FS</title>
    <body>
    <form method="POST" action="http://127.0.0.1//ADMINISTRATION/INSCRIPTION/inscription.php">
    <h4>FORMULAIRE D'inscription</h4>
    Nom :
    <input type="text" name="Nomcl">
    <br>
    Prénom :
    <input type="text" name="Prenomcl">
    <br>
    Login :
    <input type="text" name="login">
    <br>
    Adresse de livraison :
    <input type="text" name="Adrescl">
    <br>
    Type entreprise:
    <select name="TypeCl">
    <option value="Magasin détaillant">Magasin détaillant</option>
    <option value="Revendeurs">Revendeurs</option>
    <option value="Collectivités locales">Collectivités locales</option>
    <option value="Particuliers">Particuliers</option>
    </select> 
    </br>
    Code Postale:
    <input type="text" name="cpcl">
    <br>
    Ville:
    <input type="text" name="villecl">
    <br>
    password:
    <input type="password" name="pwd">
    <br><br>
    <input type="submit" value="Envoyer">
    Tableau informations clients:

    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
    !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <body bgcolor="silver">
    <br>
    <br>
    <br>
    <center><font size=36>Informations des clients</font></center>
    <br>
    <br>
    <title>Liste des Clients</title>
    <body>
    <?
    // information pour la connection à le DB
    $host = 'localhost';
    $user = '***';
    $pass = '***';
    $db = 'fringues';
     
    // connection à la DB
    $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
    mysql_select_db($db) or die ('Erreur :'.mysql_error());
     
    // requête SQL qui compte le nombre total d'enregistrement dans la table et qui
    //récupère tous les enregistrements
    $select = 'SELECT * FROM Client';
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);
     
     
    // si on a récupéré un résultat on l'affiche.
    if($total) {
        // debut du tableau
        echo '<table bgcolor="#FFFFFF">'."\n";
            // première ligne on affiche les titres prénom et surnom dans 2 colonnes
            echo '<tr>';
            echo '<td bgcolor="#669999"><b><u>Numéro Client</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Nom</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Prénom</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>login</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Type Client</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Code Type Client</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Adresse de Livraison</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Code postale</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Ville</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Password</u></b></td>';
           echo '</tr>'."\n";
        // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
        while($row = mysql_fetch_array($result)) {
            echo '<tr>';
            echo '<td bgcolor="#CCCCCC">'.$row["numcl"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["nomcl"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["prenomcl"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["login"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["TypeCl"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["codecatCl"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["adrescl"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["cpcl"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["villecl"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["pwd"].'</td>';
            echo '</tr>'."\n";
        }
        echo '</table>'."\n";
        // fin du tableau.
    }
    else echo 'Pas d\'enregistrements dans cette table...';
     
    // on libère le résultat
    mysql_free_result($result);
     
    ?>
    Voila !

  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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Bonjour

    Le message d'erreur indique que l'index codeCatCl n'existe pas
    Tu essayes de récupérer la valeur $_POST['codeCatCl'] alors qu'il n'existe aucun champ de ce nom dans le formulaire. D'où erreur.
    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 averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Par défaut
    Justement, je veux que le codeCategCl ne soit pas visible lors de l'inscription.
    Je veux que lorsque qu'on choisit dans la liste découlante: Magasin détaillant par exemple, le code attribué se mette dans le tableau.

  4. #4
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Autant pour moi, j'avais mal lu ton explication
    Je résume : il ya une table client et une table catégorie de client. C'est cette table qui contient les codes de catégorie.
    Ce que tu veux faire, c'est qu'en fonction du type de client (entré dans le formulaire) la table catégorie remplisse le champ codeCat de la table client.
    Est-ce bien ça ? ou est-ce que je suis encore à côté de la plaque ?

    Si c'est bien ça, je suppose que la table catégorie doit avoir 2 champs du genre type et code. Mais dans ce cas, à quoi sert le champ type dans la table client ?
    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]

  5. #5
    Membre éprouvé Avatar de Shinji62
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 135
    Par défaut
    Bonjour,
    Peux tu rexpliquer ce que tu cherches exactement à faire, parce que là je suis un peu comme Celira je ne pige rien à ton explication.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Par défaut
    Citation Envoyé par Celira
    Autant pour moi, j'avais mal lu ton explication
    Je résume : il ya une table client et une table catégorie de client. C'est cette table qui contient les codes de catégorie.
    Ce que tu veux faire, c'est qu'en fonction du type de client (entré dans le formulaire) la table catégorie remplisse le champ codeCat de la table client.
    Est-ce bien ça ? ou est-ce que je suis encore à côté de la plaque ?

    Si c'est bien ça, je suppose que la table catégorie doit avoir 2 champs du genre type et code. Mais dans ce cas, à quoi sert le champ type dans la table client ?
    Voila c'est exactement ça. le champ type c'est pour avoir un aperçu mansucrit.

  7. #7
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Dans ce cas, il faut faire une requête qui récupère le code dans la table categorie et le stocke dans ta variable $code, avant l'insertion.
    Code ceci n'est pas du code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    //recuperation des variables sauf code
    // de la forme $variable=$_POST['index'];
     
    //connexion à la base de donnee
    //mysql_connect...
     
    //recuperation du code
    $sql="SELECT code FROM categorie WHERE type='$type'";
    $res=mysql_query($sql) or die(mysql_error());
    $data=mysql_fetch_assoc($res);
    $code=$data['code'];
     
    //insertions....
    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]

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

Discussions similaires

  1. [MySQL] affichage dans un tableau
    Par apprenti-fab dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 26/10/2006, 21h38
  2. [Conception] Recuperer des données dans un tableau dynamique
    Par Tartanjet dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/09/2006, 00h28
  3. Affichage dans un tableau ???
    Par yoan_111 dans le forum ASP
    Réponses: 1
    Dernier message: 18/04/2006, 12h22
  4. Problème d'affichage dans un tableau
    Par claralavraie dans le forum ASP
    Réponses: 13
    Dernier message: 21/12/2005, 15h45
  5. [débutant]problèmes d'affichage dans un tableau
    Par Hastur dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 16/08/2005, 12h00

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