Récupérer une valeur dans une <table>

Pat16 Messages postés 18 Statut Membre -  
 Pat16 -
Bonjour,

J'ai un serveur apache en local et j'ai un script php qui lit un fichier texte et par une boucle je fais afficher chaque ligne dans des tr d'une <table> html.

Chaque ligne correspond au nom d'un fichier texte qui se trouve sur mon disque dur.

Je voudrais, en cliquant sur une ligne tr, récupérer le nom de ce fichier pour pouvoir le lire et le faire afficher dans une liste déroulante ou dans une autre <table>.

Quelqu'un peut il m'aider pour savoir comment récupérer la valeur se trouvant dans cette ligne quand je clique dessus ??

Merci beaucoup de vos réponses.
Cordialement.

17 réponses

roptat Messages postés 284 Statut Membre 77
 
Tu peux essayer de faire un lien et de passer le nom du fichier par get.
Tu peux aussi faire un peu de JS avec quelque chose comme :
onclick="loadFunction(<?php echo $valeur; ?>)"
0
Pat16 Messages postés 18 Statut Membre 1
 
Merci, mais comment je récupère cette valeur (le nom du fichier) ??
0
roptat Messages postés 284 Statut Membre 77
 
Ah, je n'avais pas compris la question...
En deux minutes de google : http://www.siteduzero.com/tutoriel-3-36077-lister-le-contenu-d-un-dossier-avec-php.html
Tu devrais trouver ton bonheur :)
0
Pat16 Messages postés 18 Statut Membre 1
 
Non çà je sais le faire, lister un répertoire, afficher tout un fichier texte dans une liste ou une <table>
Ce que je ne sais pas c'est récupérer la valeur d'une ligne <tr> en cliquant dessus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
roptat Messages postés 284 Statut Membre 77
 
Pas en php, ou alors tu écris deux fois la valeur de ta variable php : une fois en texte plein dans la ligne <tr> et une autre dans un lien par exemple. La valeur écrite dans le lien est celle à laquelle tu peux facilement avoir accès.
0
Pat16 Messages postés 18 Statut Membre 1
 
Et ce lien quel est il, un <a> ? mais qui dirige où ? on peut diriger la valeur écrite vers une variable ? et comment savoir la ligne cliquée pour avoir cette valeur ??
Merci
0
roptat Messages postés 284 Statut Membre 77
 
Je ferais :
<a href="?<?php echo $valeur;?>"><?php echo $valeur; ?></a>

Ce qui donne :
<a href="?fichier.txt">fichier.txt</a>

avec un petit code php pour gérer les variables get et ajouter le code d'affichage du fichier. Attention à la sécurité, il ne faut pas que l'utilisateur accède à n'importe quoi : si tu tape un nom de fichier dans la barre d'adresse, il va le charger même s'il n'est pas listé.
L'URL fichier.php?fichier.txt affiche fichier.txt, que l'utilisateur ait ou non cliqué sur le lien. Il pourrait essayer d'accéder à : fichier.php?../touslesmotsdepasses.txt
Et c'est le drame...
0
Pat16 Messages postés 18 Statut Membre 1
 
alors c'est ce" ?fichier.txt" qui contient la valeur que j'ai cliqué ??
0
roptat Messages postés 284 Statut Membre 77
 
Oups, je me suis trompé : c'est plutôt « ?fichier=fichier.txt ». Il faut modifier le code php en conséquence évidemment :
<a href="?fichier=<?php echo $valeur;?>"><?php echo $valeur; ?></a>

On le récupère via la variable $_GET :
if(isset($_GET["fichier"])) {
  //afficher le fichier
}
0
Pat16 Messages postés 18 Statut Membre 1
 
Mais je ne comprends pas cette variable $valeur, c'est elle qui contient la valeur de ma ligne ?? si oui comment elle est renseignée ??
Merci
0
roptat Messages postés 284 Statut Membre 77
 
oui, la variable $valeur représente la valeur de ta ligne. Ça correspond à la variable $fichier du tuto dont je t'ai envoyé le lien.
0
Pat16 Messages postés 18 Statut Membre 1
 
Je te remercie, je comprends pas comment la valeur de la ligne se retrouve dans $valeur, mais puisque tu le dis, ce doit être vrai.
Je teste çà lundi et je te tiens au courant.
Merci beaucoup et bon we
0
roptat Messages postés 284 Statut Membre 77
 
Non, il faut en fait remplacer $valeur par $fichier, je voulais simplement être général (il faut que tu sache adapter les scripts qu'on te donne à ta situation) car je ne connais pas ton code. Si tu reprends entièrement le code du tuto, il faut remplacer $valeur par $fichier.
0
Pat16 Messages postés 18 Statut Membre 1
 
Mon bout de code est le suivant :

while($ligne = mysql_fetch_assoc($ret))
{
$nom_fic = $ligne["nom_fic"];
print("<tr><td>$nom_fic</td></tr>");
}

c'est là que j'affiche les lignes de mon tableau et c'est dans une ligne de ce tableau que je veux cliquer pour récupérer la valeur de cette ligne.
0
roptat Messages postés 284 Statut Membre 77
 
donc ça donnerait
if(isset($_GET["fichier"])) {
  ...
  //affichage du fichier dont le nom est dans $_GET["fichier"]
}
while($ligne = mysql_fetch_assoc($ret))
{
  $nom_fic = $ligne["nom_fic"];
  print("<tr><td><a href=\"?fichier=$nom_fic\">$nom_fic</a></td></tr>");
} 
0
Pat16 Messages postés 18 Statut Membre 1
 
Merci beaucoup de ta gentillesse et bon we
0
Pat16 Messages postés 18 Statut Membre 1
 
Avant d'arrêter pour ce we j'ai voulu quand même essayer.
En plaçant ton <a href=\"?fichier=$nom_fic\">$nom_fic</a> comme çà :
print("<tr><td><a href=\"?fichier=$nom_fic\">$nom_fic</a></td></tr>"); ou encore :
print("<tr><td><a href=\"?fichier=$nom_fic\"></a>$nom_fic</td></tr>");
j'ai une une erreur Parse error: syntax error, sur la dernière ligne de mon script, la ligne ?>
Est ce du au ?, j'ai essayé de la décomposer en html pur et php et c'est pareil et quand je reviens à mon script d'origine, sans le href, tout marche bien.
Merci de ton aide
0
roptat Messages postés 284 Statut Membre 77
 
peut-être à cause du guillemet.
essaye :
  print('<tr><td><a href="?fichier='.$nom_fic.'">'.$nom_fic.'</a></td></tr>');
0
Pat16
 
Bonjour,
Super, çà marche, merci beaucoup
0