IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupérer un élément de table


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 90
    Points : 31
    Points
    31
    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.

  2. #2
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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]

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 90
    Points : 31
    Points
    31
    Par défaut
    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

  4. #4
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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]

  5. #5
    Membre confirmé
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Points : 486
    Points
    486
    Par défaut
    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 ^^

Discussions similaires

  1. [Débutant] Récupérer un élément de la table quand ID==ID
    Par solid_sneak06 dans le forum Silverlight
    Réponses: 11
    Dernier message: 18/05/2012, 19h57
  2. Réponses: 14
    Dernier message: 19/12/2011, 13h13
  3. Réponses: 1
    Dernier message: 22/01/2008, 16h58
  4. Réponses: 1
    Dernier message: 11/09/2006, 11h21
  5. Réponses: 2
    Dernier message: 03/02/2005, 13h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo