Récuperer les données d'un tableau dynamique

Invité
Invité n'ayant pas de compte PHPfrance

29 nov. 2012, 20:54

Bonjour à tous,
j'ai un souci en PHP, je m'explique :
je fais une requete dans ma base de données pour afficher toutes les personnes présentes ( nom, prénom, civilité, batiment de travail, fonction...).
J'ai fais en sorte que le nom soit cliquable et donc me dirige vers une nouvelle page une fois cliqué.

Mais comment faire pour savoir sur quel nom j'ai appuyé?
Voila moi je veux récupérer le nom et après je ferai d'autres requetes sur ma base pour afficher les informations complémentaires.

Merci de vote aide





voilà le code :
// on crée la requête SQL
$sql = 'SELECT nom,prenom,civilité,fonction,unite,batiment,pole FROM personnel ORDER BY nom' ;

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());


echo "<table border='1'>
<tr>
<th>Nom</th>
<th>Prénom</th>
<th>Civilité</th>
<th>Fonction</th>
<th>Unité</th>
<th>Batiment</th>
<th>Pôle</th>
</tr>";

while($row = mysql_fetch_array($req)) {
echo "<tr>";
echo "<td>" .'<a href="personnel.php?username=<?php echo '$row['nom']'; ?>">'. $row['nom']. "</td>";
echo "<td>". $row['prenom'] . "</td>";
echo "<td>" . $row['civilité'] . "</td>";
echo "<td>" . $row['fonction'] . "</td>";
echo "<td>" . $row['unite'] . "</td>";
echo "<td>" . $row['batiment'] . "</td>";
echo "<td>" . $row['pole'] . "</td>";
echo "</tr>";
}
echo "</table>";

Mammouth du PHP | 790 Messages

29 nov. 2012, 20:58

Mais comment faire pour savoir sur quel nom j'ai appuyé?
cette ligne de ton tableau est la ligne qui affiche le nom:
echo "<td>" .'<a href="personnel.php?username=<?php echo '$row['nom']'; ?>">'. $row['nom']. "</td>";  
par conte, regarde bien, le <a> n'est pas refermer...
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Invité
Invité n'ayant pas de compte PHPfrance

29 nov. 2012, 21:06

Merci juliette de ta réponse, je modifie la ligne de la sorte :
echo "<td>" .'<a href="personnel.php?username=<?php echo '$row['nom']'; ?>">'. $row['nom'].'</a>'. "</td>";

mais j'obtiens cette phrase sur le navigateur :
Parse error: syntax error, unexpected '$row' (T_VARIABLE), expecting ',' or ';' in C:\Program Files\EasyPHP-12.1\www\my portable files\index.php on line 74




Merci

Mammouth du PHP | 790 Messages

29 nov. 2012, 21:10

C'est normale, le </a> est mal place de plus tu le concatène alors que ce n'est pas une variable et encore tu affiche un echo dans un echo...
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Mammouth du PHP | 790 Messages

29 nov. 2012, 21:12

echo '<td><a href="personnel.php?username='.$row['nom'].'">'. $row['nom'].'</a></td>';  
tu n'a pas compris les concaténation, je te conseil de revoir un peut ce principe...
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Invité
Invité n'ayant pas de compte PHPfrance

29 nov. 2012, 21:16

echo "<td>" .'<a href="personnel.php?username=<?php echo '$row['nom']'; ?>">'.'</a>'. $row['nom']. "</td>";

si le </a> n'est pas au bon endroit je ne vois pas alors.

Je concatene le <a>?

J'aimerai bien ne pas faire un echoception mais je ne sais pas quoi mettre à la place..

Mammouth du PHP | 790 Messages

29 nov. 2012, 21:20

je t'ai remis un post juste au dessus...
ton soucis provient des concaténations..
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Invité
Invité n'ayant pas de compte PHPfrance

29 nov. 2012, 21:21

Merci beaucoup pour ton aide, cependant j'ai une dernière question :
quand j'arrive sur ma page personnel.php comment je fais pour récupérer la valeur de username car pour un formulaire on fait $-GET ou $_POST mais là je fais comment?

Re-MErci

Mammouth du PHP | 790 Messages

29 nov. 2012, 21:31

en fait, je voudrais bien voir cette page dont tu parle, en fait a la place de $row['nom'] tu devrait avois $row['id_utilisateur'] et faire une nouvelle requête sur cet id...
EX:
echo '<td><a href="personnel.php?username='.$row['ID'].'">'. $row['nom'].'</a></td>';  
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Invité
Invité n'ayant pas de compte PHPfrance

29 nov. 2012, 21:57

Ben dans cette page j'afficherai des infomations complémentaires sur le nom que je viens de cliquer : prénom, unite, fonction, batiment

Mammouth du PHP | 790 Messages

29 nov. 2012, 21:59

Dans ce cas, tu fait une requette sur le nom, mais que va t'il ce passer si 2 personne ont le même nom, il faut absolument que tu intègre l'id comme je t'ai fait voir...
ATTENTION, tu dois aussi ajouter l'id dans la requette car la il n'es pas selectionné
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Invité
Invité n'ayant pas de compte PHPfrance

30 nov. 2012, 12:28

Merci juliette de ta réponse, j'ai pris en compte l'idée et j'ai recuperer sa valeur dans la page personnel et tout fonctionne.
Merci