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 :

Creation Fiche sportif


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Creation Fiche sportif
    Bonjour et merci d'avance pour votre aide.

    Je debute en PHP, et pour ameliorer un site pour une association pratiquant le cyclisme, je voulais "simplifier" la consultation des resultats des membres.

    Donc en 1 , j'ai créer une base fiche comprenant 2 tables

    La 1ere est Membre est defini par

    Code sql : 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
     
    CREATE TABLE IF NOT EXISTS `membre` (
      `id_membre` int(11) NOT NULL AUTO_INCREMENT,
      `nom` varchar(100)  DEFAULT NULL,
      `prenom` varchar(100)  DEFAULT NULL,
      `photo` varchar(200)  DEFAULT NULL,
      PRIMARY KEY (`id_membre`)
    )  ;
     
    --
    -- Contenu de la table `membre`
    --
     
    INSERT INTO `membre` (`id_membre`, `nom`, `prenom`, `photo`) VALUES
    (1, 'a1', 'aa1', 'image/1.png'),
    (2, 'b2', 'aa2', 'image/2.png'),
    (3, 'c3', 'aa3', 'image/3.png'),
    (4, 'd4', 'aa4', 'image/4.png'),
    (5, 'e5', 'aa5', 'image/5.png'),
    (6, 'f6', 'aa6', 'image/6.png');

    Ensuite le formulaire d'inscription fonctionne
    Code php : 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
     
    <?php
    include("fonctions.php");
    ?>
    <html>
        <head><title>Formulaire de saisie utilisateur </title></head>
        <body>
            <h1>Inscrivez-vous !</h1>
            <h2>Entrez les données demandées :</h2>
            <form name="inscription" method="post" action="form.php">
                Entrez le nom : <input type="text" name="nom"/> <br/>
                Entrez le prenom ? 	<input type="text" name="prenom"/> <br/>
                Entrez la photo : <input type="text" name="image"/><br/>
                <input type="submit" name="valider" value="OK"/>
            </form>
            <?php
            if (isset ($_POST['valider'])){
                //On récupère les valeurs entrées par l'utilisateur :
                $nom=$_POST['nom'];
                $prenom=$_POST['prenom'];
                $photo=$_POST['image'];
     
                // Connection
                connectMaBase();
     
                //On prépare la commande sql d'insertion
                $sql = 'INSERT INTO fiches VALUES("","'.$nom.'","'.$prenom.'","'.$photo.'")'; 
     
                /*on lance la commande (mysql_query) et au cas où, 
                on rédige un petit message d'erreur si la requête ne passe pas (or die) 
                (Message qui intègrera les causes d'erreur sql)*/
                mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
     
                // on ferme la connexion
                mysql_close();
            }
            ?>
        </body>
    </html>

    Donc ensuite j'ai une table result

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CREATE TABLE IF NOT EXISTS `result` (
      `id_result` int(11) NOT NULL AUTO_INCREMENT,
      `date` date DEFAULT NULL,
      `lieu` varchar(100) DEFAULT NULL,
      `place` varchar(10)  DEFAULT NULL,
      `id_membre` int(3) DEFAULT NULL,
      PRIMARY KEY (`id_result`)
    )  ;

    J'aimerais faire un formulaire pour pouvoir enregistrer les resultat mais quand la question nom du coureur apres la question de la place, un menu deroulant me donne la liste des membres enregistrés et en cliquant sur le nom me valide ce choix.

    J'ai un peu de mal a faire le formulaire html (comme celui de l'inscription). Merci de votre aide

  2. #2
    Membre actif
    Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 174
    Points : 232
    Points
    232
    Par défaut
    Bonjour,

    Deux petites choses avant de parler du formulaire résultats.

    id_membre dans la table résultat doit faire la même taille que dans membre: int(11). Pour le début, cela fonctionne avec int(3) mais plus tard...

    Le champ photo: pourquoi 'image/6.png' et si tu mettais simplement '6.png' car je suppose que image est un dossier.

    Ensuite le formulaire peut se réaliser ainsi:

    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
     
    <?php
     
    // début select des membres
    $html_membres ="<select name='membres'>";
     
    // requete pour récupérer tous les membres dans la base
    $sql_membres = "SELECT id_membre, nom FROM membre";
    $result_membres = mysql_query ($sql_membres); 
     
    while ($row = mysql_fetch_row($result_membres)) {
      // on concatenes les résultats dans la variable html_membres 
      // row[0] correspond au premier champ de la requête select: id_membre
      //  row[1] le second champ: nom
      // row[0] correspond à la valeur que tu vas récupérer en $_POST
      // pour ensuite insérer tes données dans la table resultat
      $html_membres .= "<option value=".$row[0].">'".$row[1]."'</option>";
    }
    $html_membres .= "</select>";
     
    ?>
    <html>
    <head><title>Formulaire des resultats utilisateur </title></head>
    <body>
     
    <form name="resultats" method="post" action="resultats.php">
    <?php echo $html_membres;?>
    <input type="submit" name="valider" value="OK"/>
    </form>
    Tu crées une nouvelle page résultats.php
    C'est juste un début. A toi de gérer les retours d'erreur etc...De plus, il serait préférable de travailler avec mysqli ou pdo.

    Cordialement,

    Natso

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour la reponse rapide.

    J'ai modifier les int en les mettant a 3 .. sachant qu'il y a et aura moins de 100 membres.

    Concerant l'image, comme le formulaire est sur l'index du site et que les photos sont dans le repertoire image, je mettais le chemin de l'image (Erreur de ma part ?)

    Je vais essayer de faire le formulaire des resultats avec le code que tu m'a donné.

    Encore merci

  4. #4
    Membre actif
    Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 174
    Points : 232
    Points
    232
    Par défaut
    Si les images sont toujours dans le même dossier, enregistres uniquement le nom du fichier. Si un jour tu changes de dossier.
    Ensuite, à l'affichage tu mettras le chemin du dossier.

    L'image justement, c'est toi qui l'enregistres par ftp, ensuite tu renseignes le nom du fichier dans le formulaire ?

    Natso

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    oui j'ai deja le fichier "images" avec tous les membres du clubs

  6. #6
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Pourrais tu me dire ou je "deconne" dans le formulaire ?

    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
     <?php
    include("fonctions.php"); 
               ?> 
    	 <?php
      connectMaBase();
               ?> 	   
    <?php
     
    // début select des membres
    $html_membres ="<select name='membres'>";
     
    // requete pour récupérer tous les membres dans la base
    $sql_membres = "SELECT id_membre, nom FROM membre";
    $result_membres = mysql_query ($sql_membres); 
     
    while ($row = mysql_fetch_row($result_membres)) {
      // on concatenes les résultats dans la variable html_membres 
      // row[0] correspond au premier champ de la requête select: id_membre
      //  row[1] le second champ: nom
      // row[0] correspond à la valeur que tu vas récupérer en $_POST
      // pour ensuite insérer tes données dans la table resultat
      $html_membres .= "<option value=".$row[0].">'".$row[1]."'</option>";
    }
    $html_membres .= "</select>";
     
    ?>
    <html>
    <head><title>Formulaire des resultats utilisateur </title></head>
    <body>
     
    <form name="resultats" method="post" action="resultats.php">
                Entrez date : <input type="text" name="date"/> <br/>
                entrez lieu ? 	<input type="text" name="lieu"/> <br/>
                Entrez place : <input type="text" name="place"/><br/>
                <?php echo $html_membres;?>
    <input type="submit" name="valider" value="OK"/>
    </form>
    
     <?php
            if (isset ($_POST['valider'])){
                //On récupère les valeurs entrées par l'utilisateur :
                $date=$_POST['date'];
                $lieu=$_POST['lieu'];
                $place=$_POST['place'];	
    			  $id_membre=$_POST['row[0]'];	
                //On prépare la commande sql d'insertion
                $sql = 'INSERT INTO result VALUES("","'.$date.'","'.$lieu.'","'.$place.'","'.$id_membre.'")'; 
     
                /*on lance la commande (mysql_query) et au cas où, 
                on rédige un petit message d'erreur si la requête ne passe pas (or die) 
                (Message qui intègrera les causes d'erreur sql)*/
                mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
     
                // on ferme la connexion
                mysql_close();
            }
            ?>
    En gras , je pense que c'est ces ecritures qui ne vont pas

  7. #7
    Membre actif
    Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 174
    Points : 232
    Points
    232
    Par défaut
    Il faut récupérer la valeur avec le nom (name) du select qui est membres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $id_membre=$_POST['membres'];

  8. #8
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Super merci a toi ...je mets le tag Resolu


    Bonne fête de fin d'année

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

Discussions similaires

  1. [CS4] creation de fiche de renseignements
    Par foxatout dans le forum Dreamweaver
    Réponses: 2
    Dernier message: 18/06/2012, 15h06
  2. Creation de logiciel de gestion des fiches
    Par anninina dans le forum E-Commerce
    Réponses: 2
    Dernier message: 25/03/2011, 18h04
  3. [Conception] creation de fiche dynamique a partir d'une base de données
    Par badnane2 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 05/06/2006, 16h50
  4. [Conception] creation de fiche avec php
    Par badnane2 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 03/06/2006, 19h46
  5. Creation de fiche dynamique
    Par Mouss26 dans le forum C++Builder
    Réponses: 7
    Dernier message: 24/07/2002, 07h56

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