Cocher par défaut par rapport à l'utilisateur connecté
TEMATEX
-
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Alors j'aimerai réussir à cocher par défaut dans ce formulaire, le nom de l'utilisateur connecté. Imaginons, je suis "test3", au lieu d'ouvrir la page où j'ai ce formulaire et de voir les taches de tous les salariés, je verrais d'abord que les tâches de "test3" car ça aura sélectionné par défaut les tâches de l'utilisateur connecté seulement, mais par la suite si je veux voir les tâches de "test2", j'aurais juste à le sélectionné.
code php du formulaire pour l'instant, je pense qu'il faudrait juste mettre une condition avec un if qui permettrai de dire, "si l'utilisateur est test3 alors affiché par défaut les tâches de test3" sauf que je ne sais pas trop faire ça :')
Si quelqu'un pourrait m'aider ce serais vraiment sympa merci !!
Alors j'aimerai réussir à cocher par défaut dans ce formulaire, le nom de l'utilisateur connecté. Imaginons, je suis "test3", au lieu d'ouvrir la page où j'ai ce formulaire et de voir les taches de tous les salariés, je verrais d'abord que les tâches de "test3" car ça aura sélectionné par défaut les tâches de l'utilisateur connecté seulement, mais par la suite si je veux voir les tâches de "test2", j'aurais juste à le sélectionné.
code php du formulaire pour l'instant, je pense qu'il faudrait juste mettre une condition avec un if qui permettrai de dire, "si l'utilisateur est test3 alors affiché par défaut les tâches de test3" sauf que je ne sais pas trop faire ça :')
<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>
Si quelqu'un pourrait m'aider ce serais vraiment sympa merci !!
A voir également:
- Cocher par défaut par rapport à l'utilisateur connecté
- Se connecter à gmail sur téléphone - Guide
- Ouvrir avec par défaut - Guide
- Dns par defaut - Guide
- Google page d'accueil par défaut - Guide
- Windows 11 clic droit afficher plus d'options par défaut - Guide
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
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>
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".
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>
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,
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'] ?
(ceci reste un exemple)