Cocher par défaut par rapport à l'utilisateur connecté
Fermé
TEMATEX
-
10 juin 2021 à 10:10
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 11 juin 2021 à 17:58
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 11 juin 2021 à 17:58
A voir également:
- Cocher par défaut par rapport à l'utilisateur connecté
- Se connecter à ma boite hotmail - Guide
- Appareil connecté facebook - Guide
- Google page d'accueil par défaut - Guide
- Comment connecter chromecast à la télé - Guide
- Plan rapport de stage - Guide
3 réponses
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
Ambassadeur
1 556
10 juin 2021 à 11:30
10 juin 2021 à 11:30
bonjour,
avant de coder cela en php, as-tu déterminé le code html que tu voulais obtenir?
avant de coder cela en php, as-tu déterminé le code html que tu voulais obtenir?
<table> <tr> <td></td> <td><div style="text-align: center"><a href="ajoutTache.php"> <img align="center" src="icones/add.png" width="35"> </a></td> <td></td> </tr> <tr> <br><br> <td></td> <td> <form action="taches.php" method="GET"> <select name="salarie" id="id" style="width:200px"> <option value="TOUS" <?php if(isset($_GET['salarie']) AND $_GET['salarie']=="TOUS"){ ?>selected<?php } ?>>Tous les salariés</option> <option value="test" <?php if(isset($_GET['salarie']) AND $_GET['salarie']=="test"){ ?>selected<?php } ?>>test</option> <option value="test2" <?php if(isset($_GET['salarie']) AND $_GET['salarie']=="test2"){ ?>selected<?php } ?>>test2</option> <option value="test3" <?php if(isset($_GET['salarie']) AND $_GET['salarie']=="test3"){ ?>selected<?php } ?>>test3</option> </select> <button class="btn" style="width:60px" type="submit"><img src="icones/accept.png" width="40" height="40"></button> </form></td> <td></td> </tr> </table> <br> <div class="container"> <table id= "table-id"> <tr> <th>Code client</th> <th>Salarié</th> <th>Date</th> <th>Temps de réalisation</th> </tr> <?php foreach ($resu as $res){ $heure = ($res['heureReal'] * 60) ; $minutes = ($res['minReal']); $totalHeures += $heure + $minutes; ?> <tr class="trlist"> <td <?php if($res['statut']==1){ ?>style="width:200px; background-color:RGBA(255,0,0,0.4); text-align:left; padding-left:10%"<?php }else { ?> style="width:200px; text-align:left; padding-left:10%"<?php } ?>><a href="modifier.php?id=<?php echo $res['idd']?>" onclick="window.open(this.href); return false;"><?php echo $res['codeClient']?></a></td> <td <?php if($res['statut']==1){ ?>style="width:200px; background-color:RGBA(255,0,0,0.4); text-align:left; padding-left:12%"<?php }else { ?> style="width:200px; text-align:left; padding-left:12%"<?php } ?>><?php echo $res['salarie']?></td> <td <?php if($res['statut']==1){ ?>style="width:200px; background-color:RGBA(255,0,0,0.4); text-align:left; padding-left:10%"<?php }else { ?> style="width:200px; text-align:left; padding-left:10%"<?php } ?>><a href="modifierTache.php?id=<?php echo $res['id']?>" target="_blank"><?php echo strftime('%d-%m-%Y',strtotime($res['date']))?></a></td> <td <?php if($res['statut']==1){ ?>style="width:200px; background-color:RGBA(255,0,0,0.4); text-align:left; padding-left:12%"<?php }else { ?> style="width:200px; text-align:left; padding-left:12%"<?php } ?>><?php echo gmstrftime( "%H h %M min", (($res['heureReal'] * 60) + $res['minReal']) * 60 )?></td> </tr> <?php } ?> </table>
jordane45
Messages postés
38319
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2024
4 706
10 juin 2021 à 19:34
10 juin 2021 à 19:34
Bonjour,
Tu n'as pas mis ton code complet ....
Et je suppose, que ce que tu veux... c'est n'afficher les données que de l'utilisateur selectionné.
Donc.. il faut intervenir sur ta variable $resu
Variable qui provient certainement d'une requête SQL ...
Requête dans laquelle tu vas devoir mettre un WHERE si tu veux "filtrer".
Tu n'as pas mis ton code complet ....
Et je suppose, que ce que tu veux... c'est n'afficher les données que de l'utilisateur selectionné.
Donc.. il faut intervenir sur ta variable $resu
Variable qui provient certainement d'une requête SQL ...
Requête dans laquelle tu vas devoir mettre un WHERE si tu veux "filtrer".
TEMATEX
>
jordane45
Messages postés
38319
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2024
10 juin 2021 à 19:38
10 juin 2021 à 19:38
Non, le filtrage fonctionne et j'avais déjà quelque chose comme ça que j'avais mis en commentaire, je voudrais juste que par défaut dans la barre de recherche ce soit le nom du salarié connecté qui s'affiche avec seulement ses tâches mais que si dans la barre de recherche, par exemple le salarié "test3" décide de voir les tâches de "test2" qu'il puisse toujours.
Voici la totalité de mon code :
Voici la totalité de mon code :
<body class="fond2"> <?php session_start(); include('pdo.php'); include('header.php'); if ($_SESSION['niveau']=="technicien"){ if($droit['techAcces']=="non"){ header('Location:index.php?acces=interdit'); } } if ($_SESSION['niveau']=="basique"){ if($droit['basiqueAcces']=="non"){ header('Location:index.php?acces=interdit'); } } if(isset($_GET['codeClient'])){ $stmt = $pdo->prepare('SELECT * from clients WHERE codeClient = :codeClient'); $stmt->bindValue(':codeClient', $_GET['codeClient'], PDO::PARAM_STR); $stmt->execute(); $client=$stmt->fetch(); ?> <div class="container" style="text-align:left; position:relative; bottom:10px"> <a href="modifier.php?id=<?php echo $client['id']; ?>" class="retour"><img class="imagehome" src="icones/retour.png"></a> </div> <?php } ?> <br> <div style="text-align:center"> <h1 class="h1liste">Tâches</h1> </div> <?php if(isset($_GET['acces']) AND $_GET['acces']=="interdit"){ ?> <div style="text-align:center; color:red"> Vous n'avez pas les droits d'accès à cette page ! </div><br> <?php } ?> <br> <?php if(isset($_GET['codeClient']) and isset($_GET["moisSelec"]) and isset($_GET["annee"])){ $stmt = $pdo->prepare('SELECT taches.codeClient, taches.salarie, taches.id, taches.date, taches.minReal, taches.heureReal, taches.statut, clients.id as idd from taches JOIN clients ON taches.codeClient = clients.codeClient where taches.codeClient = :codeClient AND YEAR(taches.date) = '.$_GET["annee"].' AND MONTH(taches.date) = '.$_GET["moisSelec"].' ORDER BY taches.statut DESC, taches.date DESC'); $stmt->bindValue(':codeClient', $_GET['codeClient'], PDO::PARAM_STR); $stmt->execute(); $resu=$stmt->fetchALL(); } if(isset($_GET['codeClient']) and isset($_GET["moisSelec"]) and isset($_GET["annee"]) and $_GET["annee"] == "ALL"){ $stmt = $pdo->prepare('SELECT taches.codeClient, taches.salarie, taches.id, taches.date, taches.minReal, taches.heureReal, taches.statut, clients.id as idd from taches JOIN clients ON taches.codeClient = clients.codeClient where taches.codeClient = :codeClient AND MONTH(taches.date) = '.$_GET["moisSelec"].' ORDER BY taches.statut DESC, taches.date DESC'); $stmt->bindValue(':codeClient', $_GET['codeClient'], PDO::PARAM_STR); $stmt->execute(); $resu=$stmt->fetchALL(); } if(isset($_GET['codeClient']) and isset($_GET["annee"]) and isset($_GET["moisSelec"]) and $_GET["moisSelec"] == "annee"){ $stmt = $pdo->prepare('SELECT taches.codeClient, taches.salarie, taches.id, taches.date, taches.minReal, taches.heureReal, taches.statut, clients.id as idd from taches JOIN clients ON taches.codeClient = clients.codeClient where taches.codeClient = :codeClient AND YEAR(taches.date) = '.$_GET["annee"].' ORDER BY taches.statut DESC, taches.date DESC'); $stmt->bindValue(':codeClient', $_GET['codeClient'], PDO::PARAM_STR); $stmt->execute(); $resu=$stmt->fetchALL(); } if(isset($_GET['codeClient']) and isset($_GET["annee"]) and $_GET["annee"]=="ALL" and isset($_GET["moisSelec"]) and $_GET["moisSelec"] == "annee"){ $stmt = $pdo->prepare('SELECT taches.codeClient, taches.salarie, taches.id, taches.date, taches.minReal, taches.heureReal, taches.statut, clients.id as idd from taches JOIN clients ON taches.codeClient = clients.codeClient where taches.codeClient = :codeClient ORDER BY taches.statut DESC, taches.date DESC'); $stmt->bindValue(':codeClient', $_GET['codeClient'], PDO::PARAM_STR); $stmt->execute(); $resu=$stmt->fetchALL(); } if(!isset($_GET['codeClient']) and !isset($_GET["moisSelec"]) and !isset($_GET["annee"])){ $stmt = $pdo->prepare('SELECT taches.codeClient, taches.salarie, taches.id, taches.date, taches.minReal, taches.heureReal, taches.statut, clients.id as idd from taches JOIN clients ON taches.codeClient = clients.codeClient ORDER BY taches.statut DESC, taches.date DESC'); $stmt->execute(); $resu=$stmt->fetchALL(); } if(isset($_GET['salarie']) and $_GET['salarie']=="TOUS"){ $stmt = $pdo->prepare('SELECT taches.codeClient, taches.salarie, taches.id, taches.date, taches.minReal, taches.heureReal, taches.statut, clients.id as idd from taches JOIN clients ON taches.codeClient = clients.codeClient ORDER BY taches.statut DESC, taches.date DESC'); $stmt->execute(); $resu=$stmt->fetchALL(); }elseif (isset($_GET['salarie']) and $_GET['salarie']!="TOUS"){ $stmt = $pdo->prepare('SELECT taches.codeClient, taches.salarie, taches.id, taches.date, taches.minReal, taches.heureReal, taches.statut, clients.id as idd from taches JOIN clients ON taches.codeClient = clients.codeClient where taches.salarie=:nom ORDER BY taches.statut DESC, taches.date DESC'); $stmt->bindValue(':nom', $_GET['salarie'], PDO::PARAM_STR); $stmt->execute(); $resu=$stmt->fetchALL(); } /*if(isset($_SESSION['niveau']) AND $_SESSION['niveau']!="admin"){ $stmt = $pdo->prepare('SELECT taches.codeClient, taches.salarie, taches.id, taches.date, taches.minReal, taches.heureReal, taches.statut, clients.id as idd from taches JOIN clients ON taches.codeClient = clients.codeClient where taches.salarie=:nom ORDER BY taches.statut DESC, taches.date DESC'); $stmt->bindValue(':nom', $_SESSION['nom'], PDO::PARAM_STR); $stmt->execute(); $resu=$stmt->fetchALL();}*/ if(isset($_GET['date']) AND ($_GET['date']="depasse")){ $dateactuelle=date("Y-m-d"); $stmt = $pdo->prepare('SELECT taches.codeClient, taches.salarie, taches.id, taches.date, taches.minReal, taches.heureReal, taches.statut, clients.id as idd from taches JOIN clients ON taches.codeClient = clients.codeClient where taches.salarie=:nom AND taches.statut = :statut and taches.date < :date ORDER BY taches.date DESC, taches.salarie ASC'); $stmt->bindValue(':nom', $_SESSION['nom'], PDO::PARAM_STR); $stmt->bindValue(':statut', 1, PDO::PARAM_INT); $stmt->bindValue(':date', $dateactuelle, PDO::PARAM_STR); $stmt->execute(); $resu=$stmt->fetchALL(); } ?> <table> <tr> <td></td> <td><div style="text-align: center"><a href="ajoutTache.php"> <img align="center" src="icones/add.png" width="35"> </a></td> <td></td> </tr> <tr> <br><br> <td></td> <td> <form action="taches.php" method="GET"> <select name="salarie" id="id" style="width:200px"> <option value="TOUS" <?php if(isset($_GET['salarie']) AND $_GET['salarie']=="TOUS"){ ?>selected<?php } ?>>Tous les salariés</option> <option value="test" <?php if(isset($_GET['salarie']) AND $_GET['salarie']=="test"){ ?>selected<?php } ?>>test</option> <option value="test2" <?php if(isset($_GET['salarie']) AND $_GET['salarie']=="test2"){ ?>selected<?php } ?>>test2</option> <option value="test3" <?php if(isset($_GET['salarie']) AND $_GET['salarie']=="test3"){ ?>selected<?php } ?>>test3</option> </select> <button class="btn" style="width:60px" type="submit"><img src="icones/accept.png" width="40" height="40"></button> </form></td> <td></td> </tr> </table> <br> <div class="container"> <table id= "table-id"> <tr> <th>Code client</th> <th>Salarié</th> <th>Date</th> <th>Temps de réalisation</th> </tr> <?php foreach ($resu as $res){ $heure = ($res['heureReal'] * 60) ; $minutes = ($res['minReal']); $totalHeures += $heure + $minutes; ?> <tr class="trlist"> <td <?php if($res['statut']==1){ ?>style="width:200px; background-color:RGBA(255,0,0,0.4); text-align:left; padding-left:10%"<?php }else { ?> style="width:200px; text-align:left; padding-left:10%"<?php } ?>><a href="modifier.php?id=<?php echo $res['idd']?>" onclick="window.open(this.href); return false;"><?php echo $res['codeClient']?></a></td> <td <?php if($res['statut']==1){ ?>style="width:200px; background-color:RGBA(255,0,0,0.4); text-align:left; padding-left:12%"<?php }else { ?> style="width:200px; text-align:left; padding-left:12%"<?php } ?>><?php echo $res['salarie']?></td> <td <?php if($res['statut']==1){ ?>style="width:200px; background-color:RGBA(255,0,0,0.4); text-align:left; padding-left:10%"<?php }else { ?> style="width:200px; text-align:left; padding-left:10%"<?php } ?>><a href="modifierTache.php?id=<?php echo $res['id']?>" target="_blank"><?php echo strftime('%d-%m-%Y',strtotime($res['date']))?></a></td> <td <?php if($res['statut']==1){ ?>style="width:200px; background-color:RGBA(255,0,0,0.4); text-align:left; padding-left:12%"<?php }else { ?> style="width:200px; text-align:left; padding-left:12%"<?php } ?>><?php echo gmstrftime( "%H h %M min", (($res['heureReal'] * 60) + $res['minReal']) * 60 )?></td> </tr> <?php } ?> </table> <br> <?php if(isset($_GET['codeClient'])){ ?> <h4>Total d'heures : <?php echo gmstrftime( "%H h %M min", $totalHeures * 60 )?></h4> <br> <?php } if(isset($_GET['codeClient'])){ ?> <br> <div class="container" style="text-align: right;"><a href="HTML2PDF/pdfTache.php?codeClient=<?php echo $_GET['codeClient']?>&moisSelec=<?php echo $_GET['moisSelec']?>&annee=<?php echo $_GET['annee']?>" target="_blank"><button type="button" style="width:60px" class="btn"><img src="icones/imprimante.png" style="width:30px"></button></a></div> <?php } ?> <br><br> <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> <!-- Start Pagination --> <div class='pagination-container' style="margin-left: 43%"> <nav> <ul class="pagination"> <li data-page="prev" > <span> < <span class="sr-only">(current)</span></span> </li> <!-- Here the JS Function Will Add the Rows --> <li data-page="next" id="prev"> <span> > <span class="sr-only">(current)</span></span> </li> </ul> </nav> </div> <div style="text-align:left; margin-left: 250px"><span style="border:1px solid black; background-color:RGBA(255,0,0,0.4)"> A faire </span></div></td><td> <div style="text-align: right; margin-right: 250px">nb lignes : <select name="state" id="maxRows" style="width: 50px"> <option value="5000">Toutes les lignes</option> <option value="25">25</option> <option value="50">50</option> <option value="75">75</option> <option value="100">100</option> </select><br> </div> </div>
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
>
TEMATEX
10 juin 2021 à 20:47
10 juin 2021 à 20:47
ton php va générer du html.
sais-tu quel html tu veux obtenir?
sais-tu quel html tu veux obtenir?
TEMATEX
>
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
11 juin 2021 à 12:14
11 juin 2021 à 12:14
Juste le php va permettre de faire la séléction de salarié, ensuite l'html permet juste de faire le tableau CodeClient, salarié, Date
yg_be
Messages postés
23361
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 novembre 2024
1 556
>
TEMATEX
11 juin 2021 à 12:32
11 juin 2021 à 12:32
partage le code source html de ta page, ainsi que la modification souhaitée.
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
10 juin 2021 à 20:15
10 juin 2021 à 20:15
Salut,
Si la connexion des utilisateurs/salariés est gérée avec php, l'identifiant du salarié devrait alors être enregistré dans une variable de session lors de la connexion.
Il faut ensuite définir une variable "filtre salarié" avec comme valeur par défaut la variable de session et l'écraser avec le paramètre get si l'internaute fait une recherche. C'est cette variable "filtre salarié" qui doit ensuite être utilisée dans la requête sql et dans l'affichage du formulaire :
Par contre c'est pas idéal de saisir les noms des utilisateurs en dur dans le formulaire. Ca serait mieux de récupérer la liste des utilisateurs (depuis la bdd si ils sont dedans par exemple) pour construire les balises <option> avec une boucle php.
Bonne journée,
Si la connexion des utilisateurs/salariés est gérée avec php, l'identifiant du salarié devrait alors être enregistré dans une variable de session lors de la connexion.
Il faut ensuite définir une variable "filtre salarié" avec comme valeur par défaut la variable de session et l'écraser avec le paramètre get si l'internaute fait une recherche. C'est cette variable "filtre salarié" qui doit ensuite être utilisée dans la requête sql et dans l'affichage du formulaire :
<?php // [...] intialisation : session_start, connexion bdd, gestion des erreurs... // la variable $filtreSalarie est utilisée dans la clause WHERE de la requête sql pour filtrer les taches par salarié // par défaut = identifiant du salarié connecté $filtreSalarie = isset($_SESSION['salarie']) ? $_SESSION['salarie'] : ''; // si l'utilisateur fait une recherche (taches.php?salarie=id), on change le filtre salarie if (isset($_GET['salarie'])) { $filtreSalarie = $_GET['salarie']; } // [...] execution de la requête sql pour récupérer les taches ?> <form action="taches.php" method="GET"> <select name="salarie" id="id" style="width:200px"> <option value="" <?= empty($filtreSalarie) ? 'selected' : ''; ?>>Tous les salariés</option> <option value="test" <?php if ($filtreSalarie == 'test') echo 'selected'; ?>>test</option> <option value="test2" <?php if ($filtreSalarie == 'test2') echo 'selected'; ?>>test2</option> <option value="test3" <?php if ($filtreSalarie == 'test3') echo 'selected'; ?>>test3</option> </select> <button class="btn" style="width:60px" type="submit"><img src="icones/accept.png" width="40" height="40"></button> </form>
Par contre c'est pas idéal de saisir les noms des utilisateurs en dur dans le formulaire. Ca serait mieux de récupérer la liste des utilisateurs (depuis la bdd si ils sont dedans par exemple) pour construire les balises <option> avec une boucle php.
Bonne journée,
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
>
TEMATEX
11 juin 2021 à 17:58
11 juin 2021 à 17:58
Sans connaitre ton code je ne vois pas pourquoi non plus ;p
Est-ce que tu as bien une variable de session $_SESSION['salarie'] qui est définie lorsque le salarié se connecte ?
Est-ce que tu as modifié les conditions if et le bind au moment de la requête sql pour utiliser la variable $filtreSalarie à la place du paramètre $_GET['salarie'] ?
Est-ce que tu as bien une variable de session $_SESSION['salarie'] qui est définie lorsque le salarié se connecte ?
Est-ce que tu as modifié les conditions if et le bind au moment de la requête sql pour utiliser la variable $filtreSalarie à la place du paramètre $_GET['salarie'] ?
10 juin 2021 à 16:04
10 juin 2021 à 16:06
(ceci reste un exemple)
10 juin 2021 à 16:46