Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/12/2011, 01h44   #1
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 5
Points : 0
Points : 0
Par défaut Requête sur plusieurs tables

Bonjour ou bonsoir a tous,

J'ai une base de données sql qui contient deux tables.

La première table contient des champs id, nom, adresse, tel.. etc...
La seconde table, contient des champs qui seront remplis et conservés dans la base de données. Ils seront donc remplis via un formulaire. C'est en fait de l'information relative aux heures travaillées. Le membre devra remplir sa feuille de temps a chaque jour et pourra la reprendre pour continuer le jour suivant.

Voici mon problème : Je veux récupérer le nom du membre dans un formulaire de façon a ce que ses informations qui ont été entrées le jour précédent soit disponible et deja entrées dans le formulaire pour qu'il puisse continuer sa feuille de temps.

Exemple :
Table 1
id | nom | telephone | etc..

Table 2
id | nom de la Table 1 | champs formulaire | etc...

Il s'agit probablement de requête croisée ? Merci de m'aider la dessus... je suis totalement bloqué.

Php 5

Code :
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
 
<?php
try
{
    // On se connecte à MySQL
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=nomdlabase', 'root', '', $pdo_options);
 
    // On récupère tout le contenu de la table ma_feuille_temps
    $reponse = $bdd->query('SELECT * FROM ma_feuille_temps');
	// On récupère le nom de l'utilisateur de la table mes_utilisateurs
	$reponse2 = $bdd->query('SELECT * FROM mes_utilisateurs'); // ??
 
    // On affiche les informations
       ?>
        <p>
        <strong>Nom</strong> : <?php echo $nom_utilisateurs; ?><br />
        du : <?php echo $donnees['du']; ?>, au  <?php echo $donnees['au']; ?>   du mois<br />
        Courriel <?php echo $donnees['courriel']; ?> un peu de texte  <?php echo $donnees['texte']; ?> fin<br />
        </em>
        </p>
    <?php
    }
 
    $reponse->closeCursor(); // Termine le traitement de la requête
    $reponse2->closeCursor(); // Termine le traitement de la requête
}
catch(Exception $e)
{
    // En cas d'erreur précédemment, on affiche un message et on arrête tout
    die('Erreur : '.$e->getMessage());
}
 
 
?>
Irght19kc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 10h35   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
Donne la structure exacte de tes tables parce que la seconde est incompréhensible !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 11h21   #3
Membre expérimenté
 
Avatar de redoran
 
Homme
Developpeur- Amateur
Inscription : juin 2010
Messages : 981
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 40
Localisation : Algérie

Informations professionnelles :
Activité : Developpeur- Amateur
Secteur : Santé

Informations forums :
Inscription : juin 2010
Messages : 981
Points : 572
Points : 572
Envoyer un message via Skype™ à redoran
Re; idem que cill.
apparemment c'est une relation 1==>N c.a.d q'un travailleur peut avoir un enregistrement ou plus selon l'heure de travaille si j'ai bien compris ; alors il faut faire une requête d'extraction des données d'un travailleur X selon son ID ou autre avec affichage de ces données dans un tableau ensuite s'il veut ajouté une donnée là tu fais appel a ton formulaire.
en résumé :
une interface d'affichage de données qui fait appel a un formulaire d'enregistrement en cas de besoin.
excuse pour le tetoiment
redoran est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 13h15   #4
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 5
Points : 0
Points : 0
Bon alors merci de prendre un peu de votre temps !

Table 1

Id | Nom | Téléphone | etc..

La table 1 constitue les coordonnées du travailleur.


Table 2

Id | Nom | date début | date fin | heure travaillé le lundi | heure travaillé le mardi | etc.

La table 2 contient le nom du travailleur, et tous les champs remplis par lui via un formulaire pour le calcul de ses heures travaillées.

Actuellement, le travailleur s'identifie sur le site. Il a donc accès a une zone réservée. La table 1 est donc remplie lors de son inscription par l'administration.

Ce que je désire faire, c'est qu'il puisse créer une feuille de temps avec son nom déja inscrit dans un formulaire et avoir la possibilité de la compléter et ou modifier tous les jours pour finalement l'imprimer et l'envoyer a l'administration à la fin de la semaine. J'ai donc créé une nouvelle table afin d'y placer les champs nécessaires.

Ces travailleurs pourraient donc remplir la feuille de temps le lundi et la sauvegarder dans la base de données, la reprendre le mardi pour la modifier et la sauvegarder dans la base de données, la reprendre le mercredi etc .... pour finalement l'envoyer et l'imprimer a la fin de la semaine.

La ou je bloque, c'est quand vient le temps de faire afficher et d'associer le bon nom a la bonne feuille de temps. Ce que j'aimerais donc, c'est que le nom de l'individu soit immédiatement associé avec SA feuille de temps. Donc, le champs Nom de la table 2 devrait être le même que celui de la table 1 en fait.

Est-ce plus claire ??
Irght19kc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 14h20   #5
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
La grosse erreur de modélisation est là :
Citation:
Table 2

Id | Nom | date début | date fin | heure travaillé le lundi | heure travaillé le mardi | etc.
Il ne faut pas une colonne par jour !

Tu prendras bien un peu de Merise ?

Règle de gestion :
Une personne peut travailler plusieurs jours et un jour peut voir travailler plusieurs personnes.

MCD :
personne -0,n----travailler----0,n- jour

Tables :
personne (prs_id, prs_nom...)
jour (jr_id jr_date)
prs_travailler_jr (ptj_id_personne, ptj_id_jour)
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 15h43   #6
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 5
Points : 0
Points : 0
holala... je ne comprends pas grand chose désolé.

Je suis allé voir Merise, et c'est vraiment une mine d'informations intéressantes mais je ne comprends pas tout et je manque de temps pour l'instant. Je vais cependant bien lire quand j'aurais un peu de temps.

Pour ce qui est du projet :

En fait, les feuilles de temps actuelles sont déja utilisées et les travailleurs remplissent tous les champs, comme sur leurs feuilles de temps version papier. Je veux simplement que le travailleur ai accès a sa propre feuille de temps.

Pour ce qui est de la table 2, je vois mal comment je pourrais ne pas mettre une colonne par jour... parce qu'en fait, ce n'est qu'un champs nombre qui sera calculé a la toute fin.

Peut etre que je me fais mal comprendre... parce qu'il me semble que mes tables sont bien préparées.

Par ailleurs, je programme depuis peu en PHP et MySql ( deux semaines en autodidacte...) Je peux t'envoyer en privé également le formulaire de la feuille de temps, ce qui pourrait peut etre t'aider ??
Irght19kc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h00   #7
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
Ne confonds pas le formulaire de saisie et les données enregistrées en base de données !

Pas le temps d'expliquer en détail la démarche que tu dois adopter mais grosso-modo, l'utilisateur se connecte à ton application qui lui présente le formulaire de saisie pour les jours de la semaine en cours. Il saisit les données le concernant et tu le programme les enregistre dans la BDD.

S'il a déjà des données enregistrées pour la semaine en cours, le formulaire lui redonne ces données.

Tu as aussi plein de tutoriels PHP sur le site.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h25   #8
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 5
Points : 0
Points : 0
Citation:
Envoyé par CinePhil Voir le message

MCD :
personne -0,n----travailler----0,n- jour

Tables :
personne (prs_id, prs_nom...)
jour (jr_id jr_date)
prs_travailler_jr (ptj_id_personne, ptj_id_jour)
Donc, dans la table 2, je dois procéder autrement a ce que je vois...

il faudrait vraiment que tu vois mon formulaire... je te l'envoie en message privé.
Irght19kc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h28   #9
Invité de passage
 
Homme
Inscription : décembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : décembre 2011
Messages : 5
Points : 0
Points : 0
Citation:
Envoyé par CinePhil Voir le message
Ne confonds pas le formulaire de saisie et les données enregistrées en base de données !

Pas le temps d'expliquer en détail la démarche que tu dois adopter mais grosso-modo, l'utilisateur se connecte à ton application qui lui présente le formulaire de saisie pour les jours de la semaine en cours. Il saisit les données le concernant et tu le programme les enregistre dans la BDD.

S'il a déjà des données enregistrées pour la semaine en cours, le formulaire lui redonne ces données.

Tu as aussi plein de tutoriels PHP sur le site.
C'est exactement ca, et je sais le faire. Par contre, je ne sais pas comment faire pour que le nom du travailleur puisse automatiquement se placer dans le formulaire .. car il est deja enregistré et a ouvert une session sur le site sécurisé.
Irght19kc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h06.


 
 
 
 
Partenaires

Hébergement Web