Précédent   Forum du club des développeurs et IT Pro > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 21/12/2012, 19h00   #1
theo17
Invité régulier
 
Homme
Lycéen
Inscription : mars 2012
Messages : 88
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Lycéen
Secteur : Conseil

Informations forums :
Inscription : mars 2012
Messages : 88
Points : 7
Points : 7
Par défaut Récupérer un élément de table

Bonjour,

Dans un script php, j'affiche dans une <table> et des <td> </td> des noms de fichier venant d'un fichier texte, et je sauvegarde ces noms dans un tableau php (indice position et nom affiché).

Je voudrais, en cliquant sur une ligne tr de cette table, pouvoir récupérer le nom du fichier qui s'y trouve affiché afin d'aller chercher le fichier correspondant sur mon disque et le faire afficher dans une liste déroulante.

Je pense que l'on peut mettre un événement onclick, mais comment récupérer l'indice position et ainsi obtenir le nom du fichier associé.

Peut on traiter cette lecture du fichier en php ou en JavaScript, mais dans ce cas là comment faire passer les éléments et comment faire afficher un fichier en JavaScript ????

Merci beaucoup de vos réponses.
Cordialement.
theo17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 20h15   #2
RunCodePhp
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 965
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 965
Points : 3 675
Points : 3 675
Salut

Pour ma part c'est pas très clair.
Au départ les noms des fichiers seraient dans des td.
Et après c'est en cliquant sur un tr où on souhaiterait obtenir le nom du fichier.

Si chaque ligne (chaque tr) correspondant à 1 fichier, autant faire en sorte qu'il y est directement une requête HTTP vers le fichier en question lors du click sur le tr.
évènement onclick -> location.href (URL du fichier).
Pas besoin de faire je ne sais quel récupération d'élément.


Cependant, pourquoi ne pas mettre directement des liens à chaque noms de fichiers ?
Dès fois, tout est une question de mise en évidence pour que les utilisateurs le comprenne en un coup d'oeil.
Genre :
Code :
1
2
3
4
5
6
7
8
9
10
<table>
<tr>
    <td><a href="http://www.domaine.com/vers/fichier_l1a">fichier L1a</a></td>
    <td><a href="http://www.domaine.com/vers/fichier_l1b">fichier L1b</a></td>
</tr>
<tr>
    <td><a href="http://www.domaine.com/vers/fichier_l2a.txt">fichier L2a</a></td>
    <td><a href="http://www.domaine.com/vers/fichier_l2b.txt">fichier L2b</a></td>
</tr>
</table>
Par ailleurs, un navigateur n'est pas vraiment fait pour lire toute sorte de fichiers, voire pas du tout.
Un navigateur c'est avant tout pour un site Web, c'est à dire du (X)HTML.

Javascript ne peu lire un fichier, sauf erreur.
Même Php aussi. Une chose possible en Php c'est de récupérer le contenu d'un fichier (soit en le parcourant ligne par ligne, soit son intégralité en binaire) et au bout le renvoyer vers le client (le navigateur).
Après ça, est-ce que le navigateur sera en mesure de l'interpréter ???

Si l'application, c'est à dire le serveur Web, Php, etc ... (le site Web en somme), est installé sur son poste en local, en y mettant des liens avec des chemins physiques où se trouvent les fichiers ça peu fonctionner.
Ceci dit, ça reste assez particulier.

C'est quoi comme fichiers ?
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2012, 09h28   #3
theo17
Invité régulier
 
Homme
Lycéen
Inscription : mars 2012
Messages : 88
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Lycéen
Secteur : Conseil

Informations forums :
Inscription : mars 2012
Messages : 88
Points : 7
Points : 7
Bon je précise, je suis en local avec un serveur apache, dans mon script php je lis un fichier texte qui se trouve sur mon disque et qui contient des noms de fichiers .txt et par une boucle de lecture je les fais afficher dans une <table> html.
Une fois que le tableau est affiché sur l'écran, je voudrais pouvoir cliquer sur une ligne tr de ce tableau qui contient le nom d'un fichier et aller lire celui ci qui se trouve sur mon disque pour le faire afficher dans une liste déroulante.
Je sais que l'on peut lire des fichiers texte pour les faire afficher dans des listes pour l'avoir déjà fait, mais là il faudrait que je puisse récupérer le nom de ce fichier sélectionné par un click sur une ligne tr pour aller le chercher sur mon disque dur.
Merci beaucoup de vos réponses.
Cordialement.

Pour faire simple, je veux récupérer la valeur d'une ligne (<tr>) d'un tableau (<table> en cliquant dessus.
Merci
theo17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2012, 06h44   #4
RunCodePhp
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 965
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 965
Points : 3 675
Points : 3 675
Salut

C'est bien de reformuler ou compléter ce qu'on souhaiterais effectuer, c'est souvent mieux d'accompagner ça par du code.


J'avais suggéré tout de même ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$nom_fichier = 'fichier_truc';
?>
<html>
<head>
<title>UN TITRE</title>
 
<script type="text/javascript">
 
function nomDuFichier(nom_fichier) {
    // Divers traitements JS. Exemple :
    window.location.href = nom_fichier + ".truc";
}
 
</script>
 
</head>
<body>
 
<table>
<tr onclick="nomDuFichier('<?php echo $nom_fichier; ?>')">
    <td>Blablabla</td>
</tr>
</table>
 
</body>
</html>
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 14h12   #5
malgache
Membre éprouvé
 
Homme Yann
IUT Informatique
Inscription : mars 2011
Messages : 400
Détails du profil
Informations personnelles :
Nom : Homme Yann
Localisation : France

Informations professionnelles :
Activité : IUT Informatique

Informations forums :
Inscription : mars 2011
Messages : 400
Points : 452
Points : 452
Bonjour,

Si j'ai bien compris le problème je pense que ta solution RunCodePhp n'est pas la bonne. Quoi y'a une partie correcte.

Ce que je ferai theo17, c'est que quand le script construit ton tableau, pour chaque ligne, je lui met le nom du fichier en ID et une class genre fileSelect.

Après en javascript tu repère le click sur la class fileselect et tu fais un appel ajax à un fichier php auquel tu lui passe en paramètre GET ou POST le nom du fichier.
Au retour de ce fichier php tu 'as les donnée qu'il te faut pour créer ta liste déroulante en JS.

Voila c'est la solution que j'ai pour ton problème si je l'ai bien compris ^^
malgache est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h05.


 
 
 
 
Partenaires

Hébergement Web