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 :

Mon CV en php


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 10
    Par défaut Mon CV en php
    Bonsoir,

    Pour mes cours en e business il faut que j’exécute en php des requêteS pour faire ressortir les informations de mon CV qui sont dans ma base de donnée.

    il faudrait donc que en php tout les éléments apparaissent

    or pour le moment j'arrive à interroger la table étudiant mais par à croiser les tables

    voila ce qui fonctionne pour le moment
    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
    <?php
    // lancement de la requête (on impose aucune condition puisque l'on désire obtenir la liste complète des propriétaires
    $sql = 'SELECT * FROM etudiant';  
     
    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
     
    // on va scanner tous les tuples un par un
    while ($data = mysql_fetch_array($req)) { 
          // on affiche les résultats
          echo 'Prénom : '.$data['Prénom'].'<br />'; 
          echo 'Etat Civil : '.$data['Etat_civil'].'<br /><br />';
    echo 'Date de naissance : '.$data['Date_de_naissance'].'<br /><br />'; 
    echo 'Adresse : '.$data['Adresse'].'<br /><br />'; 	
    echo 'Tel : '.$data['Numéro_de_tel'].'<br /><br />'; 
    echo 'Email : '.$data['E-mail'].'<br /><br />';
     
    }  
    mysql_free_result ($req);  
    mysql_close ();  
    ?>
    structure de ma base

    Ma base de donnée s'articule comme cela
    Base de données: `cvlouis`

    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
    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
    -- Structure de la table `acquerir`
     
    CREATE TABLE IF NOT EXISTS `acquerir` (
      `ID_etudiant` varchar(50) NOT NULL,
      `ID_experience_pro` varchar(50) NOT NULL,
      PRIMARY KEY (`ID_etudiant`,`ID_experience_pro`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    CREATE TABLE IF NOT EXISTS `centres_d'interets` (
      `ID_centres_d'interets` varchar(50) NOT NULL,
      `Intitule_de_l'interet` varchar(50) NOT NULL,
      `Regularite` varchar(50) NOT NULL,
      `Niveau` varchar(50) NOT NULL,
      PRIMARY KEY (`ID_centres_d'interets`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    -- Structure de la table `competences`
     
    CREATE TABLE IF NOT EXISTS `competences` (
      `ID_competence` varchar(50) NOT NULL,
      `Intitule_de_la_competence` varchar(50) NOT NULL,
      `Niveau` varchar(50) NOT NULL,
      PRIMARY KEY (`ID_competence`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    CREATE TABLE IF NOT EXISTS `education` (
      `ID_education` varchar(50) NOT NULL,
      `Etudes_superieures` varchar(50) NOT NULL,
      `Contenu_de_la_formation` varchar(50) NOT NULL,
      `Annee_d'obtention` int(4) NOT NULL,
      `Lieu_d'obtention` varchar(50) NOT NULL,
      PRIMARY KEY (`ID_education`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    CREATE TABLE IF NOT EXISTS `etudiant` (
      `ID nom` varchar(50) NOT NULL,
      `Prénom` varchar(50) NOT NULL,
      `Etat_civil` varchar(20) NOT NULL,
      `Date_de_naissance` varchar(50) NOT NULL,
      `Adresse` varchar(60) NOT NULL,
      `Numéro_de_tel` int(10) NOT NULL,
      `E-mail` varchar(50) NOT NULL,
      PRIMARY KEY (`ID nom`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    -- Structure de la table `experiences_professionnelles`
     
    CREATE TABLE IF NOT EXISTS `experiences_professionnelles` (
      `ID_experience_pro` varchar(50) NOT NULL,
      `Intitulé_du_post` varchar(50) NOT NULL,
      `Durée_de_la_mission` varchar(20) NOT NULL,
      `Missions_confiées` text NOT NULL,
      `Nom_de_l'entreprise` varchar(50) NOT NULL,
      `Ville` varchar(25) NOT NULL,
      PRIMARY KEY (`ID_experience_pro`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    -- Structure de la table `posseder`
     
    CREATE TABLE IF NOT EXISTS `posseder` (
      `ID_etudiant` varchar(50) NOT NULL,
      `ID_competences` varchar(50) NOT NULL,
      PRIMARY KEY (`ID_etudiant`,`ID_competences`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    -- Structure de la table `pratiquer`
     
    CREATE TABLE IF NOT EXISTS `pratiquer` (
      `ID_etudiant` varchar(50) NOT NULL,
      `ID-centres_d'interets` varchar(50) NOT NULL,
      PRIMARY KEY (`ID_etudiant`,`ID-centres_d'interets`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    -- Structure de la table `suivre`
     
    CREATE TABLE IF NOT EXISTS `suivre` (
      `ID_etudiant` varchar(50) NOT NULL,
      `ID_education` varchar(50) NOT NULL,
      PRIMARY KEY (`ID_etudiant`,`ID_education`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    merci

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Bonsoir,

    que veux tu faire exactement ?

    Récupérer tous les étudiants qui ont un expérience professionnel ?

    Quel est la restriction que tu veux appliquer ?

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 10
    Par défaut merci
    je souhaite obtenir l'integralite du cv

    nom 
    prenom 
    adresse
    mail 
    tel
    sexe 
    age
    mais aussi ses experiences , ses loisirs , ses diplomes etc...

    donc ne fiat les tables sont reliées mais comment traduire cela en php

    g essayé cela mais ca foctionne pas
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Id_etudiant,  ID_nom, Age, sexe, Adresse, E-mail FROM etudiant, acquerir WHERE ID_etudiant = ID_nom

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 10
    Par défaut merc
    pour plus de facilite voici le mld

    Etudiant (ID Nom, Prénom, Etat civil, Date de naissance, Adresse, Numéro de tel, E-mail, Photo)

    Education (ID Education, Etudes supérieures, Contenu de la formation, Année d’obtention/de suivi, Lieu d’obtention)

    Suivre (ID Etudiant, ID Education)

    Expériences professionnelles (ID Expérience pro , Intitulé du poste, Durée de la mission, Missions confiées, Nom de l’entreprise, Ville )

    Acquérir (ID Etudiant, ID Expérience professionnelle)

    Compétences (ID Compétence, Intitulé de la compétence, Niveau de la compétence)

    Posséder (ID Etudiant, ID Compétences)

    Centres d’intérêts (ID Centres d’intérêts, Intitulé de l’intérêt, Régularité de la pratique, Niveau)

    Pratiquer (ID Etudiant, ID Centres d’intérêts)

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Pour le php tu ne devra qu'utiliser les informations remontées par ta requête SQL,

    pour ta requête quand tu dit que ça ne marche pas c'est qu'il y'a une erreur ou les mauvaises informations sont remonté ?

    Requête :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT a.Id_etudiant, e.ID_nom, e.Age, e.sexe, e.Adresse, e.E-mail FROM etudiant e
    INNER JOIN acquerir a ON e.ID_nom = a.id_etudiant;

    Utilise des alias pour tes tables sa évite de devoir écrire le nom des tables à chaque fois dans la requête, pour les jointures utilise le mot JOIN.

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 10
    Par défaut
    en fait cela ne fonctionne pas ma commande s'affiche completement comme du texte le php m'affiche SELECT FROM ETCC....

  7. #7
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Il t'affiche l'erreur de la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    ou juste le texte de ta requête ?

    utilise tu le script que tu a donné dans ton premier post ?

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 10
    Par défaut merci
    j'utilise celui ci

    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
    <?php
    // on se connecte à notre base
    $base = mysql_connect ('localhost', 'root', '');  
    mysql_select_db ('cvlouis', $base) ;  
    ?>
    <html>
    <head>
    <title>Informations CV</title>
    </head>
    <body>
    <?php
    // lancement de la requête (on impose aucune condition puisque l'on désire obtenir la liste complète des propriétaires
    $sql = 'SELECT * FROM etudiant';  
     
    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
     
    // on va scanner tous les tuples un par un
    while ($data = mysql_fetch_array($req)) { 
          // on affiche les résultats
          echo 'Prénom : '.$data['Prénom'].'<br />'; 
          echo 'Etat Civil : '.$data['Etat_civil'].'<br /><br />';
    echo 'Date de naissance : '.$data['Date_de_naissance'].'<br /><br />'; 
    echo 'Adresse : '.$data['Adresse'].'<br /><br />'; 	
    echo 'Tel : '.$data['Numéro_de_tel'].'<br /><br />'; 
    echo 'Email : '.$data['E-mail'].'<br /><br />';
    echo 'ID_etudiant : '.$data['ID_etudiant'].'<br /><br />';
     
    }  
    mysql_free_result ($req);  
    mysql_close ();  
    ?>
    </body>
    </html>
    il me donne comme résultat :

    Prénom : louis
    Etat Civil : celibataire

    Date de naissance : ma date de naissance

    Adresse : mon adresse

    Tel : mon numero

    Email : mon email

    et un message d'erreur en plus

    Notice: Undefined index: ID_etudiant in C:\wamp\www\tetscv.php on line 27
    Donc cela me donne tout ce qui est présent dans la table etudiant car j'ai spécifié tout avec le *

    mais je souhaite avoir le cv complet avec experience et tout.

    Je comprend pas trop les alias

  9. #9
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Il te suffit de joindre les autres tables à ta requête en utilisant les jointures ( mot clef JOIN ), pour les alias :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT e.ID_nom FROM etudiants e;
    Dans le requête au dessus tu peux voire e.ID_nom,

    le e. correspond à l'alias que tu a donné à la table durant l'exécution de la requête,

    simplement pour toutes ta requête tu pourra remplacer le nom de ta table etudiants par l'alias e,

    tu peux faire sa pour chaque table de ta requête :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT a.ID_etudiant, e.ID_nom FROM etudiants e
    INNER JOIN acquerir a ON e.ID_nom = a.ID_etudiant
    dans la requête si dessus j'ai donner comme alias à la table etudiants la lettre e et la lettre a à la table acquerir,

    les alias sont surtout utile quand tu manipule plusieurs tables dans ta requête pour pouvoir t'y retrouver plus facilement et éviter les ambiguïtées avec les colonnes portant le même nom mais qui ne sont pas dans le même table.

    Pour l'utilisation des jointures je te laisse regardé du coter des différents tuto.

    PS : Pour ton erreurs :
    Notice: Undefined index: ID_etudiant in C:\wamp\www\tetscv.php on line 27
    tu n'a pas de colonne ID_etudiant dans ta table etudiant.

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 10
    Par défaut
    non mais ID_etudiant est la cle primaire de la table etudiant

  11. #11
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Dans ton MCD la clé primaire de la table etudiants c'est ID_nom et non ID_etudiants.

  12. #12
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 10
    Par défaut merci
    hum je vais revoir cela merci pour tout je suis vraiment pas sur d'y arriver en plus je suis noté sur mon php.

Discussions similaires

  1. mon premier site php/mysql
    Par SpaceFrog dans le forum Mon site
    Réponses: 4
    Dernier message: 10/02/2008, 03h58
  2. [1.x] Création de plusieurs objets dans mon action.class.php
    Par lijko dans le forum Symfony
    Réponses: 2
    Dernier message: 30/12/2007, 13h37
  3. comment sécurisez mon code source php?
    Par dahan dans le forum Zend
    Réponses: 2
    Dernier message: 08/02/2007, 20h44
  4. [PHP-JS] Mon jeu en PHP
    Par gloubi dans le forum Langage
    Réponses: 3
    Dernier message: 21/10/2006, 11h44
  5. Je n'arrive pas à terminer mon formulaire en PHP
    Par snakejl dans le forum Langage
    Réponses: 12
    Dernier message: 10/05/2006, 22h35

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