Tableau , sql ,conseils
ludo
-
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
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:
- Tableau , sql ,conseils
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Imprimer un tableau excel - Guide
- Tableau croisé dynamique - Guide
6 réponses
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
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
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 !
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 !
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 !!
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 !!
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
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
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..............
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..............
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.