Tableau , sql ,conseils

ludo -  
 ludo -
Salut à tous ,

Je ne cherche pas encore une correction de code mais juste une sorte d’orientation vers mon projet.
__________________________________________________________________________________________­__
|Nom Prenom Salaire Prime total |
|fixe fixe remontée sql du dernier mois
| mais éventuellement modifiable si cela a changer idem A calculer soit en temps réel (mais
| je pense que ce sera compliquer)
| soit en validant les saisies précédentes
| |_________________________________________________________________________________________­___
Alors en fait je vais devoir en php faire un tableau du type de celui que je vous présente ci dessous. J’utilise mysql comme base de donées.

Déjà première question comment marche le systeme de jointure sous mysql car tantot je lis qu’il n’y a pas de notion de cela , on doit faire autant de requête que l’on a besoin de champs.
J’ai essayer une requête du type « select * from tabs ; » qui ne semble elle non plus pas fonctionner sous ce SGBDR.

Deuxièmement j’aimerais savoir si le type de tableau que je vous présente est faisable en php de manière la plus simple possible.
La création du tableau et l’affichage des noms et prénoms pour le moment ne me pose pas de problème mais la suite m’intrigue.
Pourriez vous me guider vers quelque chose de simple et d’efficace ?
Merci à tous
A voir également:

6 réponses

Anatana
 
C'est très compliqué d'expliquer cela comme ça pour moi, mais comme piste, plutôt que de concevoir ton tableau, n'oublies pas qu'il va se créer à partir de ce que tu vas lui demandé (un menu pour sélectionner soit par employé, par date ou montant). Les jointures ne sont pas obligatoires :
Par exemple :
On considère les tables suivantes,
employé (id, nom, prénom, salaire de base)
commission (id, id_employé, date, montant)
archive_com (id, id_employé, date_n-1, date_n)
ta requête de jointure pourrait être : select * from commission Where id_employee=1
Avec ceci tu récupères le montant de la com, la date à partir de l'id de l'employé, tu pourras cumuler avec la requéte :
select * from employé where id=$id_employé (variable que tu passes lors de l'interrogation).
select * from archive_com where id_employé=$id_employé

C'est sur que cette technique est plus longue mais te permet de ne pas t'embeter de trop sur les requètes
en espérant que c'est une bonne piste pour toi et que je me suis bien fait comprendre
0
ludo
 
re anatana,

Tout d'abord merci pour ta piste ca me guide un peu plus vers les solutions requêtes.
Pour ce qui est du tableau il fonctionne , il calcule le nombre de ligne et me le génère automatiquement.
Par contre j'aurais aimé savoir comment obtenir dans ce même tableau des champs "amovible" que je puisse modifier éventuellement.
Merci !
0
Anatana Messages postés 3 Statut Membre
 
Salut,

Qu'entends tu par "amovible".
Amovible : info cachée ou des colonnes qui changent de nom (donc infos)
Pour des infos cachées, tu fais ta requète supplémentaire dans ton while et tu ajoutes un script du type phpmyborder (une classe simple à mettre en place)
Pour des colonnes qui changent de nom : en gros tu dois construire ta requete à partir d'un formulaire à base de menu déroulant etc, qui te permettra de recupèrer un Get ou Post (ex : req.php?tranche_de_salaire=1500&autre_critère=2&autre_crit=23).
Ce qui ne t'empèche pas de récupèrer d'autres champs dans tes requètes et donc de rendre amovible certaine. De toute façon tes menus déroulants peuvent être fabriqué sur interrogation sql ou fabriqué précisement.
excuse moi je suis pas bien réveiller, je cherche mes touches !!
0
ludo
 
re anatana,
C'est moi qui m'excuse je me suis mal exprimer ...

Tableau


nom prenom salaire commission total
ca bouge pas idem ca peut bouger ... idem idem


Aux endroits ou "ca peut bouger " il faut que par montée sql soit chargé par exemple dans le cas du salaire ,le salaire du mois précédent et si ce salaire venait a être modifié mon utilisateur se positionnerais dessus , cliquerais et pourrais changer la valeur qui serait automatiquement modifier par sql.

Pour les requêtes pas de problème par contre comment je peux faire ça ? en parlant d'inamovibilité je voulais parler de la valeur des champs excuse moi c'etait confu
0
Anatana Messages postés 3 Statut Membre
 
j'utilise le script Data grid pour faire comme un tableur, mais je ne l'utilise que pour moi, pas pour les utilisateurs (eux passent par un formulaire tout simple), je voudrais pas qu'ils saccagent les données sans faire gaffe.
je me demande si tu ne devrais pas encore te créer une table commissions et au moment de l'insertion tu crées le champ du mois suivant, tu récupères les résultats et tu additionnes avant de construire ton tableau. N'oublie que tu pourrais insérer les montants des commissions sur deux tables différentes (1 pour l'employé, 1 total de tout les employés).

Je ne pense pas répondre à ta questions.
Des pistes de réflexion, on va dire..............
0
ludo
 
ok merci , et tu peuxm 'en dire plus sur ton script ? que permet il ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Anatana Messages postés 3 Statut Membre
 
J'utilise PHP DATAGRID, il y a sûrement mieux... C'est un classe php+javascript, qui te permet de lister les données d'une table sql et de modifier les entrées en cliquant sur le champs et en validant, comme excel.
Tu appelles le data grid sur une table ou plusieurs grâce à un switch :
Par exemple :
case "user";
$sql = "SELECT * FROM user"; tu fais ta requète
$grid = new datagrid;
$grid -> table = "user";
//$grid -> HideField("id"); Tu peux cacher des champs
$grid -> HideField("commentaires");
$grid -> SQL($sql);
$grid -> RenameCol("city","Ville");
// Old field ==> New field Tu peux les renommer
//$grid -> RenameCol("street","rue");
$grid -> th_style("font-size:8pt;font-family:arial;background-color: #FFFF99;");
$grid -> tr_style("font-family:arial;font-size:8pt;");
//$grid -> col_style("street", "color:red;font-weight:bold;background-color: #c00000;");
// tu peux colorer différement les colonnes et personnaliser les tables utilisées
$output = $grid->create_grid();
break;

Cherche avec ton moteur de recherche préféré le script le plus à jour, je sais qu'il y a des nouvelles versions.
0
ludo
 
D'accord merci beaucoup jvais me diriger vers ta solution merci tu m'as bien guidé problème résolu.
0