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

JavaScript Discussion :

Vidage de tableau JS issu de PHP


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de MelkInarian
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Par défaut Vidage de tableau JS issu de PHP
    Bonjour,
    une fonction PHP avec en entrée un tableau issu de requête MySQL me renvoie un tableau JS.
    après traitement, j'aimerai pouvoir vider ce tableau. Est-ce possible?
    j'ai essayé, sans effet le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="TabJS.splice(0, TabJS.length); 	// à partir de l'index 0, et supprime tous les éléments éléments">
    Comme le tableau "est gravé en dur" dans la page html générée à partir du php je crains que ce ne soit pas possible mais je préfère demander à ceux qui savent!
    Merci
    voici une portion du code généré comprenant une partie du tableau. Il y a environ 2000 lignes, 109 champs et 18 enregistrements.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <script type="text/javascript">TabJS= new Array();TabJS[0]= new Array();TabJS[0][0]='1';
    		TabJS[0][1]='...';
    		TabJS[0][2]='...';
    		TabJS[0][3]='...';
    		TabJS[0][4]='...';
    		TabJS[0][5]='...';
    		TabJS[0][6]='...';
    		TabJS[0][7]='...';
    		TabJS[0][8]='...';
    ...
    		TabJS[17][106]='XXX';
    		TabJS[17][107]='0';
    		TabJS[17][108]='2018-01-25';
    </script>

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    après traitement, j'aimerai pouvoir vider ce tableau. Est-ce possible?
    tu peux faire verbeux avec les méthodes pop() ou encore shift(), qui supprime un élément en fin ou en début de tableau, tu peux faire rapide en affectant simplement la valeur 0 à la length de ton tableau ou encore redéclarer ton tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while( tab.length){
      tab.pop();
      // ou
      tab.shift();
    }
    Mettre length à 0 :
    Redéclaration du tableau :

  3. #3
    Membre éclairé Avatar de MelkInarian
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Par défaut
    Merci NoSmoking,
    j'ai testé les deux dernières méthodes mais le résultat semble le même, lorsque je visualise "le code source de la sélection" ma page html contient toujours le tableau rempli.
    Ainsi donc si ces deux méthodes fonctionnent pour vider le tableau, ce dont je ne doute pas, la méthode que j'utilisais : TabJS.splice(0, TabJS.length); fonctionne certainement aussi, mais aucune ne modifie ma page html.
    C'est bien ça?

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    mais aucune ne modifie ma page html.
    je n'avais pas compris que tu voulais modifier le contenu de ta page HTML, c'est peine perdue sauf à supprimer dynamiquement la partie qui contient ce code mais cela ne sert en fait à rien ou pas grand chose.

    Quel est le but final d'une telle manipulation ?

    Nota : Attention, la méthode slice() ne modifie pas le tableau de départ.

  5. #5
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    Citation Envoyé par MelkInarian Voir le message
    Mais aucune ne modifie ma page html.
    Ou ça une page HTML ?

  6. #6
    Membre éclairé Avatar de MelkInarian
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Par défaut
    Le but est de réduire le volume de données de la page.
    je n'ai parlé que d'un tableau mais en fait à la fin j'en aurai une vingtaine.
    L'idée était de supprimer au fur et à mesure les tableau de données traitées.
    Je crois que je ne couperai pas au traitement en plusieurs pages avec des localStorage pour faire suivre le volume de données.
    Qu'en dis-tu?

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    J'ai du mal à cerner la problématique mais ...
    Le but est de réduire le volume de données de la page.
    • mets les valeurs de te(s) tableau(x) dans un fichier externe
    • récupère les données en Ajax au load de la page
    • ...

    Je crois que je ne couperai pas au traitement en plusieurs pages avec des localStorage pour faire suivre le volume de données.
    Il faudrait préciser ce point car trop obscur.

  8. #8
    Membre éclairé Avatar de MelkInarian
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Par défaut
    • mets les valeurs de te(s) tableau(x) dans un fichier externe
    • récupère les données en Ajax au load de la page
    • ...
    je ne sais pas faire çà, ni les fichiers externes, ni Ajax, pourrais-tu me donner des liens (en français) pour que regarde?
    merci.

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    je ne sais pas faire çà, ni les fichiers externes, ...
    ça c'est du côté serveur avec les méthodes file, par exemple file_put_contents.

    ni Ajax, pourrais-tu me donner des liens (en français) pour que regarde?.
    A voir comprendre les mécanismes d'AJAX, rien de bien complexe.

    Les meilleurs cours et tutoriels pour apprendre l'AJAX.

    Nota :
    Je viens de me rendre compte, à la relecture de la discussion, que tu parlais de splice et non de slice, toutes mes confuses

  10. #10
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Citation Envoyé par MelkInarian Voir le message
    […] le résultat semble le même, lorsque je visualise "le code source de la sélection" ma page html contient toujours le tableau rempli.
    Ce n’est pas le bon outil à utiliser dans ce cas. La commande « code source de la sélection » prend un cliché du DOM et le sérialise en code HTML. Si un élément <script> se trouve dans le tas, c’est son code source original que tu verras, et cela ne reflète en rien l’état du contexte d’exécution.

    Il faut bien être conscient que PHP (et toute techno de serveur web) ne fait qu’envoyer du texte. C’est le navigateur qui décide d’interpréter ce texte comme du code HTML ou JS ou CSS ou autre. Donc une variable JS n’est pas plus « gravée » dans la page si elle est générée par PHP, que si elle se trouve dans un fichier JS statique.

    l’outil idéal pour examiner le contexte JavaScript c’est la console F12 : appuie sur F12, assure-toi que tu es bien sur l’onglet console et tape TabJS dans le champ de commande, tu pourras voir l’état actuel de la variable.
    Tu as aussi un onglet debugger que tu pourras trouver utile si tu es familier avec les debuggers.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  11. #11
    Membre éclairé Avatar de MelkInarian
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Par défaut
    Merci Watilin et NoSmoking, je vais faire çà,
    le visualisation avec F12 et suivre les liens.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP-JS] Manipuler en Javascript un tableau dans un formulaire PHP
    Par Bouillons2 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/11/2010, 10h10
  2. [MySQL] Afficher/masquer un résultat dans un tableau issu de PHP
    Par breizhgen dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/02/2008, 20h52
  3. [Excel] Exporter un tableau d'une page php vers un fichier Excel
    Par griese dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 04/07/2006, 10h50
  4. Tableau JS avec valeurs PHP
    Par Gobouz dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 19/04/2006, 11h28
  5. [SGBD] afficher infos issues de php/mysql dans html
    Par php_de_travers dans le forum Requêtes
    Réponses: 11
    Dernier message: 22/10/2005, 00h28

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