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 :

php echo ou javascript innerHTML ?


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 141
    Points : 98
    Points
    98
    Par défaut php echo ou javascript innerHTML ?
    Bonjour,

    Voilà je suis actuellement entrain d'utiliser un tableau qui se trouve dans une base de données, dans celui ci se trouve une liste de chiffres qui augmente (sur une colonne).

    Hors je suis entrain de créer une fonction qui récupère la première ligne du tableau et l'affiche sur mon site puis ensuite au clic qui récupère la seconde ligne et l'affiche,....

    Pour faire cela j'ai trouvé deux méthodes:

    - La première méthode: je récupère dans une variable php, la valeur qui se trouvent dans ma base de données, puis je fais passer cette variable en js pour la traiter en js et je l'affiche sur mon site via le innerHTML

    - La deuxième méthode: je récupère dans une variable php, la valeur qui se trouvent dans ma base de données, et je la traire via une fonction php et l'affiche avec echo

    N.B: je suis plus à l'aise en JS et si je veu traité "la mise en forme" de mon echo cela relève être plus fastidieux, d'ou la première méthode.

    Mais concrètement qu'elle est la meilleurs méthodes ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    tu veux dire que tu recharges la page à chaque fois ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 141
    Points : 98
    Points
    98
    Par défaut
    tu veux dire que tu recharges la page à chaque fois ?
    Non pas forcément d'ou mon soucis de l'utilisation du php.

    En gros ce que fais ma fonction
    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
     
    <script>
    mafonction(){
     
    //Premier Chiffre récupérer dans ma base
    var chiffrebd="<?php $monchiffre ?>";
    if(chiffrebd>=10000){
    //je récupère le chiffre dans la 2ième ligne de mon tableau
    var chiffre2="<?php $monchiffre2 ?>";
    //Et je remplace
    document.getElementById('madiv').innerHTML=chiffre2;
    }
     
    else{
    ...
    }
    }
    </script>
     
    <div id="madiv"></div>
    Voilà codé à la va vite la fonction en js qui fais appelle au php.
    N.B: cette focntion est activé au clic sur un bouton, d'ou le problème pour le faire en php aussi.

    Mais qu'elle est le mieux ? Est ce a peu près correcte mon idéé au dessus ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    le mieux est de passer par ajax ...

    autrement dit faire un xmlhttprequest et sur le success ajouter le contenu

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 141
    Points : 98
    Points
    98
    Par défaut
    Euh je préfère ne pas passez par ajax , non pas que j'aime pas ça, mais c'est juste que j'ai déjà appris sur le tas le javascript et le php et d'ici peu je dois apprendre le JQuerry pour mon travail, alors avec AJAX en plus ça va faire un peu beaucoup .

    Faute de mieux je vais tenter de chercher par moi même à tout faire en javascript. Seule la récupération des données dans les bases de données se fera en php MySQL.

    Donc à suivre d'ici quelques semaines...

  6. #6
    Membre régulier
    Homme Profil pro
    Fabricant de ressorts - programmeur amateur
    Inscrit en
    Janvier 2003
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Fabricant de ressorts - programmeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2003
    Messages : 70
    Points : 79
    Points
    79
    Par défaut
    Si je ne me trompe pas, jquery possède des fonctions AJAX.
    et puis AJAX n'est pas si compliqué que ça (c'est vrai qu'avant de se lancer, ça fait très peur)

    perso, j'utilise cette méthode pour les appels :
    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
    function getXhr() {
    	var xhr = null; 
    	if(window.XMLHttpRequest) // Firefox et autres
    		xhr = new XMLHttpRequest(); 
    	else if(window.ActiveXObject){ // Internet Explorer 
    		try {
    			xhr = new ActiveXObject("Msxml2.XMLHTTP");
    				alert ("Tu utilises Internet Explorer qui est le seul navigateur a ne pas fonctionner correctement avec ce site. Je t'encourage a utiliser au choix : Firefox, ou Chrome, ou Safari");
    		} catch (e) {
    			xhr = new ActiveXObject("Microsoft.XMLHTTP");
    		}
    	}
    	else { // XMLHttpRequest non supporté par le navigateur 
    		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    		xhr = false; 
    	} 
        return xhr;
    }
    c'est un sous programme d'appel (toujours le même pour tous tes appels ajax)
    puis tu codes ta fonction d'appel ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	var xhr = getXhr();
    	var donnees = "idtruc="+idtruc+"&idmachin="+idmachin+"&idchose="+idchose; // ici, on passe les paramètres à envoyer à php
    	// On defini ce qu'on va faire quand on aura la reponse
    	xhr.onreadystatechange = function(){
    		// On ne fait quelque chose que si on a tout recu et que le serveur est ok
    		if(xhr.readyState == 4 && xhr.status == 200){
    			//alert (xhr.responseText);
    			traitelareponse(xhr.responseText);
    		}
    	}
    	donnes=escape(donnees); // pour éviter toute mauvaise surprise de caractères spécifique
     
    	xhr.open("GET","appel_au.php?"+donnees,true);
    	xhr.send(donnees);
    puis ton sous programme de traitement de la réponse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function traitelareponse(reponse) {}
    D'un coté, tu sais ce que t'a envoyé ton php (par un echo transformé en utf8) et donc, du coté javascript, tu sais alors comment récupérer tes données pour les traiter.

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    avec jquery un simple load suffirait...

    ton code coté serveur concatènerais le code html qui serait directement affiché dans un element de la page.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 141
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    avec jquery un simple load suffirait...

    ton code coté serveur concatènerais le code html qui serait directement affiché dans un element de la page.
    Ok merci pour l'aide sur AJAX, je pense que je m'y mettrais alors afin de faire ce que je souhaite. Pour JQuerry, mon travail s'intéresse juste au JQuerry coté "design" (mise en place automatique d'une div au centre la page web,...) et donc je pense pas que j'aurais le temps et les moyens de voir JQuerry en lien avec le serveur. D'ou mon approche plus vers AJAX surement.

    Pour le moment je met donc ce sujet en résolu, car même si je n'ai pas la solution a mes problèmes, j'ai tout de même quelques pistes très intéressantes à creuser (merci SpaceFrog).

    A suivre donc si toutefois je m'en sort pas avec AJAX

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

Discussions similaires

  1. php dans javascript (innerHTML)
    Par kanabzh29 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/09/2008, 16h03
  2. Appel fonction php dans code javascript
    Par licorne dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/03/2008, 10h55
  3. [PHP-JS] variable php dans du javascript ?????
    Par lipczynski dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 18/08/2005, 14h26
  4. [PHP-JS] Execution d'un script php dans du javascript
    Par Anduriel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/06/2005, 20h41
  5. [PHP-JS] var javaScript avec test php
    Par lepierre dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/12/2004, 12h58

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