[RESOLU] Afficher au clic les infos sur un membre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Afficher au clic les infos sur un membre

Re: Afficher au clic les infos sur un membre

par johanna » 23 mai 2015, 16:01

Sujet résolu

j'ai fait

Code : Tout sélectionner

$row = $sth->fetch(PDO::FETCH_ASSOC); echo $row['prenom'];
Merci de votre aide !

Re: Afficher au clic les infos sur un membre

par johanna » 23 mai 2015, 15:35

tu passes à la page membre le paramètre id, et pas les autres comme prenom, nom.
il faut donc faire une requete dans ta table à partir de cet id pour recuperer les autres champs que tu veux afficher.
J'ai essayé en faisant ça mais ça ne marche pas non plus, ça me met "Notice: Undefined index: prenom in /Applications/XAMPP/xamppfiles/htdocs/php/artisans/membre.php on line 33"

Code : Tout sélectionner

<?php $sth= $pdo->prepare('SELECT prenom, nom, metier, cp FROM membrea WHERE idMembre = :id'); $sth->execute(array(':id'=>$_GET['id'])); echo $_GET['prenom']; ?>

Re: Afficher au clic les infos sur un membre

par tof73 » 23 mai 2015, 15:28

tu passes à la page membre le paramètre id, et pas les autres comme prenom, nom.
il faut donc faire une requete dans ta table à partir de cet id pour recuperer les autres champs que tu veux afficher.

Re: Afficher au clic les infos sur un membre

par Johanna » 23 mai 2015, 14:52

J'avais oublié "idMembre" dans ma requète.
Maintenant ça me donne ça

"Notice: Undefined index: prenom in /Applications/XAMPP/xamppfiles/htdocs/php/artisans/membre.php on line 1" quand je clique sur détail et que j'arrive sur la page "membre.php"
voici l'url que ça me met http://localhost/php/artisans/membre.php?id=7 donc ça a l'air de bien récupérer l'id

Code : Tout sélectionner

<?php // --------------------------------------------------- $resultat = $pdo->query('SELECT idMembre, prenom, nom, metier, cp FROM membrea ORDER BY prenom DESC' , PDO::FETCH_ASSOC); // permet d'accéder à la table membre et récupérer les information sous forme de tableau grace à FETCH_ASSOC foreach($resultat as $membre) // Pour chaque membres { //echo '<pre>'; print_r($ligne); echo '</pre>'; $content .= "<tr>"; foreach($membre as $indice => $info) // Pour chaque information sur 1 membre { if($indice != 'id') $content .= "<td>$info</td>"; } $content.= '<td><a href="membre.php?id='.$membre['idMembre'].'">Détail</a></td>'; $content .= "</tr>"; } $content .= '</table>'; //echo $content; ?> <div class="resultat-artisan"> <div class="col-md-12"> <table id="example" class="display" cellspacing="0"> <thead> <tr> <th class="th-avatar">id</th> <th class="th-avatar">Prénom</th> <th class="th-avatar">Nom</th> <th class="th-avatar">Métier</th> <th class="th-avatar">Code postal</th> <th class="th-avatar">Détail</th> </tr> </thead> <tbody> <tr> <td> <?php echo $content; ?> </td> </tr> </tbody> </table>
Et voici mon code de ma page membre.php

Code : Tout sélectionner

<?php echo $_GET['prenom'] . ' ' . $_GET['nom']; ?> !
Une idée d'où vient le problème?

Re: Afficher au clic les infos sur un membre

par Johanna » 23 mai 2015, 14:23

ça ne fonctionne pas, ça me met "Notice: Undefined index: idMembre in /Applications/XAMPP/xamppfiles/htdocs/php/artisans/annuaire.php on line 86"

Ma colonne id dans ma table s'appelle idMembre donc j'ai écrit

Code : Tout sélectionner

$resultat = $pdo->query('SELECT prenom, nom, metier, cp FROM membrea ORDER BY prenom DESC' , PDO::FETCH_ASSOC); // permet d'accéder à la table membre et récupérer les information sous forme de tableau grace à FETCH_ASSOC foreach($resultat as $membre) // Pour chaque membres { //echo '<pre>'; print_r($ligne); echo '</pre>'; $content .= "<tr>"; foreach($membre as $indice => $info) // Pour chaque information sur 1 membre { if($indice != 'id') $content .= "<td>$info</td>"; } $content.= '<td><a href="membre.php?id='.$membre['idMembre'].'">Détail</a></td>'; $content .= "</tr>"; } $content .= '</table>'; //echo $content; ?>

Re: Afficher au clic les infos sur un membre

par Saian » 23 mai 2015, 14:10

En admettant qu'il y ai bien une colonne id sur la table membre :
<?php
/* --------------------------------------------------- */
$resultat = $pdo->query('SELECT id, prenom, nom, metier, cp FROM membrea ORDER BY  prenom DESC' , PDO::FETCH_ASSOC);
foreach($resultat as $membre) /* Pour chaque employé */
{
  $content .= "<tr>";
  foreach($membre as $indice => $info) /* Pour chaque information sur 1 employé */
  {
    if($indice != 'id')
      $content.= "<td>$info</td>";
  }
  $content.= '<td><a href="membre.php?id='.$membre['id'].'">Détail</a></td>';
  $content.= "</tr>";
}
$content.= '</table>';
?>

Re: Afficher au clic les infos sur un membre

par Johanna » 23 mai 2015, 14:04

J'ai rajouté une colonne comme tu me le conseilles <th class="th-avatar">Détail</th> , mais je ne vois pas quoi écrire dans ma boucle pour la remplir. Je ne vois pas comment rediriger vers la page
Salut, dans ta boucle foreach($resultat as $membre) et après la boucle sur les colonnes, tu peux par exemple ajouter une 5ème colonne avec un lien Détail qui pointerait sur une page membre.php?id=n.

Code : Tout sélectionner

<div class="resultat-artisan"> <div class="col-md-12"> <table id="example" class="display" cellspacing="0"> <thead> <tr> <th class="th-avatar">Prénom</th> <th class="th-avatar">Nom</th> <th class="th-avatar">Métier</th> <th class="th-avatar">Code postal</th> <th class="th-avatar">Détail</th> </tr> </thead> <tbody> <tr> <td> <?php echo $content; ?> </td> </tr> </tbody> </table> </div> </div> <!-- FIN container actualite -->

Re: Afficher au clic les infos sur un membre

par Saian » 23 mai 2015, 13:36

Salut, dans ta boucle foreach($resultat as $membre) et après la boucle sur les colonnes, tu peux par exemple ajouter une 5ème colonne avec un lien Détail qui pointerait sur une page membre.php?id=n.

Afficher au clic les infos sur un membre

par Johanna » 23 mai 2015, 13:22

Bonjour,

J'ai créée une table "membre" dans laquelle les informations sur les membres inscrits sont recensées et après je les affiche dans une datatable exemple ici http://johannausinabia.com/artisans/annuaire.php
le problème c'est que je ne sais pas comment faire pour selectionner un des membres dans ce tableau et rediriger vers une page "profil_membre" et avoir seulement les informations sur le membre selectionné.

Voici ce que j'ai écris pour le moment

Code : Tout sélectionner

<?php // --------------------------------------------------- $resultat = $pdo->query('SELECT prenom, nom, metier, cp FROM membrea ORDER BY prenom DESC' , PDO::FETCH_ASSOC); foreach($resultat as $membre) // Pour chaque employé { //echo '<pre>'; print_r($ligne); echo '</pre>'; $content .= "<tr>"; foreach($membre as $indice => $info) // Pour chaque information sur 1 employé { $content .= "<td>$info</td>"; } $content .= "</tr>"; } $content .= '</table>'; //echo $content; ?> <div class="resultat-artisan"> <div class="col-md-12"> <table id="example" class="display" cellspacing="0"> <thead> <tr> <th class="th-avatar">Prénom</th> <th class="th-avatar">Nom</th> <th class="th-avatar">Métier</th> <th class="th-avatar">Code postal</th> </tr> </thead> <tbody> <tr> <td> <?php echo $content; ?> </td> </tr> </tbody> </table> </div> </div> <!-- FIN container actualite -->
Le problème c'est que déjà quand je met un <a href> sur <?php echo $content; ?> ça ne fonctionne pas, ce n'est que les titres qui sont cliquable.

Merci de votre aide