Récupération de l'identifiant dans une autre page
Résolu
cheikhsarr15
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
cheikhsarr15 Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
cheikhsarr15 Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour! Je suis entrain développer une application pour la gestion des agents dans une petite entreprise. Pour cela j'ai créer une table AGENT ayant comme clé primaire (PK) id_Agent:
Create table if not exists agent (
id_Agent varchar(5) not null,
nom_Agent varchar(30),prenom_Agent varchar(30),
Adr_Agent varchar(100),email_Agent varchar(50),tel_Agent varchar(50),
sexe varchar(10), sitMat varchar(20), langue varchar(100),
nbre_projet int not null,service int, Histo_Service int,
PRIMARY KEY (id_Agent),
CONSTRAINT fk_id_service FOREIGN KEY (Service) REFERENCES Service(id_Service),
CONSTRAINT fk_id_Histo_service FOREIGN KEY (Histo_Service) REFERENCES Histo_Service(id_Histo_Service)
) ENGINE= InnoDB;
J'ai deux pages agent.php et profil.php (c'est elle qui est censé récupérer l'id_Agent)
voici le code de agent.php:
<?php
include('connexion_bd.php');
$req=$bdd->query('SELECT * from agent');
while($donne=$req->fetch())
{
?>
<tr>
<th><input type="radio" name="choix" value="<?php echo $donne['id_Agent']?>"/></th>
<th><?php echo $donne['id_Agent']?></th>
<th><?php echo $donne['prenom_Agent']?></th>
<th><?php echo $donne['nom_Agent']?></th>
<th><?php echo $donne['Adr_Agent']?></th>
<th><?php echo $donne['email_Agent']?></th>
<th><?php echo $donne['service']?></th>
<th><?php echo $donne['nbre_projet']?></th>
<th><a href="agent/profil.php">Voir Plus</a></th>
</tr>
<?php }?>
Ici voir Plus est un lien vers la page profil.php. Alors j'ai essayé de récupérer l'id_Agent avec la méthode POST.
code profil.php:
<?php include('connexion_bd.php');
$req=$bdd->prepare("select * from agent where agent.id_Agent=:a");
$req->execute(array('a' => $_POST['choix']));
$donne=$req->fetch();
?>
Maintenant je teste avec:
Nom:<?php echo $donne['nom_Agent'];?>" <br/>
Prénom:<?php echo $donne['prenom_Agent']; ?>
Voila le probléme est que dans ma premiére page j'ai la liste de tous les agents présents dans la table mais en vrac. J'ai créé un petit lien "voir plus" pour afficher tous les informations relatives à 1 agent. Mon résonnement ne marche malheureusement.
J'aimerai savoir maintenant s'il y'a une méthode plus simple pour récupérer l'id_Agent afin d'afficher toutes le informations le concernant dans une autre page?
Cordialement!
Create table if not exists agent (
id_Agent varchar(5) not null,
nom_Agent varchar(30),prenom_Agent varchar(30),
Adr_Agent varchar(100),email_Agent varchar(50),tel_Agent varchar(50),
sexe varchar(10), sitMat varchar(20), langue varchar(100),
nbre_projet int not null,service int, Histo_Service int,
PRIMARY KEY (id_Agent),
CONSTRAINT fk_id_service FOREIGN KEY (Service) REFERENCES Service(id_Service),
CONSTRAINT fk_id_Histo_service FOREIGN KEY (Histo_Service) REFERENCES Histo_Service(id_Histo_Service)
) ENGINE= InnoDB;
J'ai deux pages agent.php et profil.php (c'est elle qui est censé récupérer l'id_Agent)
voici le code de agent.php:
<?php
include('connexion_bd.php');
$req=$bdd->query('SELECT * from agent');
while($donne=$req->fetch())
{
?>
<tr>
<th><input type="radio" name="choix" value="<?php echo $donne['id_Agent']?>"/></th>
<th><?php echo $donne['id_Agent']?></th>
<th><?php echo $donne['prenom_Agent']?></th>
<th><?php echo $donne['nom_Agent']?></th>
<th><?php echo $donne['Adr_Agent']?></th>
<th><?php echo $donne['email_Agent']?></th>
<th><?php echo $donne['service']?></th>
<th><?php echo $donne['nbre_projet']?></th>
<th><a href="agent/profil.php">Voir Plus</a></th>
</tr>
<?php }?>
Ici voir Plus est un lien vers la page profil.php. Alors j'ai essayé de récupérer l'id_Agent avec la méthode POST.
code profil.php:
<?php include('connexion_bd.php');
$req=$bdd->prepare("select * from agent where agent.id_Agent=:a");
$req->execute(array('a' => $_POST['choix']));
$donne=$req->fetch();
?>
Maintenant je teste avec:
Nom:<?php echo $donne['nom_Agent'];?>" <br/>
Prénom:<?php echo $donne['prenom_Agent']; ?>
Voila le probléme est que dans ma premiére page j'ai la liste de tous les agents présents dans la table mais en vrac. J'ai créé un petit lien "voir plus" pour afficher tous les informations relatives à 1 agent. Mon résonnement ne marche malheureusement.
J'aimerai savoir maintenant s'il y'a une méthode plus simple pour récupérer l'id_Agent afin d'afficher toutes le informations le concernant dans une autre page?
Cordialement!
A voir également:
- Récupération de l'identifiant dans une autre page
- Supprimer une page dans word - Guide
- Identifiant et mot de passe - Guide
- Imprimer tableau excel sur une page - Guide
- Créer une page facebook - Guide
- Comment traduire une page - Guide
3 réponses
Salut,
1 - Tu dois ajouter la balise form (avec comme méthode : GET, et action : agent/profil.php), puisque c'est un formulaire.
2 - Au lieu d'un lien tu mets un bouton ou un input de type : submit.
Sinon, si tu veux garder le lien, alors pas besoin d'un input radio, et tu mets juste :
PS : Ne pas oublier les points virgules à la fin de chaque instruction.
Et dans le deux cas, dans la page profil.php, tu récupères l'id de l'agent avec : $_GET['choix'].
Mettez en résolu quand c'est résolu ...
1 - Tu dois ajouter la balise form (avec comme méthode : GET, et action : agent/profil.php), puisque c'est un formulaire.
2 - Au lieu d'un lien tu mets un bouton ou un input de type : submit.
Sinon, si tu veux garder le lien, alors pas besoin d'un input radio, et tu mets juste :
<th> <a href="agent/profil.php?choix=<?php echo $donne['id_Agent']; ?>"> Voir Plus </a> </th>
PS : Ne pas oublier les points virgules à la fin de chaque instruction.
Et dans le deux cas, dans la page profil.php, tu récupères l'id de l'agent avec : $_GET['choix'].
Mettez en résolu quand c'est résolu ...
J'ai finalement garder le lien. Dans la page agent/profil.php je récupére l'id_Agent par méthode GET comme ci dessous:
<?php
$req=$bdd->query("select * from agent ");
while( $donne=$req->fetch())
{
if($_GET['choix']=$donne['id_Agent'])
{ ?>
<img src="profil/<?php echo $donne['id_Agent']?>.jpg"/><br/>
Nom:<?php echo $donne['nom_Agent'];?> <br/>
Prénom:<?php echo $donne['prenom_Agent']; ?>
</div>
<div id="info">
<ul>
<li><b>Matricule:</b> <?php echo $donne['id_Agent']?></li>
<li><b>Adresse:</b> <?php echo $donne['Adr_Agent']?></li>
<li><b>Email:</b> <?php echo $donne['email_Agent']?></li>
</ul>
</div>
<?php } } ?>
Mais cette fois la liste de tous les agents s'affiche. Ce qui est tout à fait du résultat que je me suis fixé. J'ai essayé aussi avec la clause Where mais pareil
<?php
$req=$bdd->query("select * from agent ");
while( $donne=$req->fetch())
{
if($_GET['choix']=$donne['id_Agent'])
{ ?>
<img src="profil/<?php echo $donne['id_Agent']?>.jpg"/><br/>
Nom:<?php echo $donne['nom_Agent'];?> <br/>
Prénom:<?php echo $donne['prenom_Agent']; ?>
</div>
<div id="info">
<ul>
<li><b>Matricule:</b> <?php echo $donne['id_Agent']?></li>
<li><b>Adresse:</b> <?php echo $donne['Adr_Agent']?></li>
<li><b>Email:</b> <?php echo $donne['email_Agent']?></li>
</ul>
</div>
<?php } } ?>
Mais cette fois la liste de tous les agents s'affiche. Ce qui est tout à fait du résultat que je me suis fixé. J'ai essayé aussi avec la clause Where mais pareil
je viens de me rendre compte que c'est moi qui ai fais une erreur sur l'operateur dans le if.
if($_GET['choix']==$donne['id_Agent'])
Merci infinément!
if($_GET['choix']==$donne['id_Agent'])
Merci infinément!