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

jQuery Discussion :

Changement valeur variable php (sujet connu) [AJAX]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 238
    Par défaut Changement valeur variable php (sujet connu)
    Bonjour
    je ne connais pas ajax mais je sais que je suis obligé de passer par là
    je créé un site sous wordpress
    j'ai tenté de modifier une variable php grace au variable global ou session mais en fait tout le contenu est déjà chargé et je n'y arrive pas
    mais je savais depuis le début que je devrais passer par ajax mais ne connaissant pas du tout j'ai tenté....
    bref

    j'ai un carousel et j'aimerais en cliquant sur des boutons à coté changer les arguments de la requete wpquery
    ex:
    dans un fichier functions_query.php qui est bien instancié dans un functions.php
    il y'a une 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
    function child_query($query = NULL) {
        if ($query == 'post') {
            wp_reset_query();
            $args = array('post_type' => 'post', 'posts_per_page' => -1, );
            return $args;
        }
        if ($query == 'attachment') {
            wp_reset_query();
            $args = array('post_type' => 'attachment', 'posts_per_page' => -1, );
            return $args;
        }
        if ($query == 'page') {
            wp_reset_query();
            $args = array('post_type' => 'page', 'posts_per_page' => -1, );
            return $args;
        }
    }
    dans sidebar.php
    ya les codes du carousel.php et controls.php

    je met exprès ce qui me paraissait le plus evident au début

    mais j'ai tenté un peu tout avec des onclick incluant des fonctions href rechargeant la page etc... mais c'est devenu un casse tete voyant que cela ne fonctionnait pas


    dans le morceau du fichier controls.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <button id="sb-trigger-test" >POST<?php $argscarousel=child_query('post');?></button>

    dans le morceau du fichier carousel.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $querycarousel=new WP_Query($argscarousel);
    alors cela affiche bien dans le carousel mais la fonction est appelée à chaque fois.

    je pense que seul en ajax je peux forcer l'appel de cette fonction coté client
    mais je ne connais rien en ajax j'ai bien regardé appris un peu mais ça reste tres nébuleux sans tout reprendre

    j'ai fait quelques tests de débutant :
    un fichier ajax_donnees.php à la racine de controls.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php 
    function testajax(){
     
    	echo "coucou ajax";
     
    }
     
    testajax();
    ?>


    dans le fichier controls.php par exemple avec une div vide id=div_donnees
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $('#sb-trigger-test').click(function() {
        // L'URL du fichier dans lequel tu appelles ta fonctio
        var url = 'ajax_donnees.php';
        $.post(url, function(data) {
            // Tu affiches le contenu dans ta div
            $('#div_donnees').html(data);
        });
    });
    j'ai vérifié que j'avais bien le framwork jquery d'autant que wordpress (derniere version) le charge automatiquement mais si je l'ai rajouté quand même

    mais même ça que je pensais réussir à faire fonctionner : rien
    ne me hurlez pas je ne connais rien à ajax

    mais pourriez vous m'aider sans devoir tout reprendre de l'apprentissage jquery ou ajax
    mais je suis pret à comprendre à apprendre sur ce problème
    en espérant m'etre fait comprendre (pas evident sur un "langage" inconnu d'expliquer)
    merci

  2. #2
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 238
    Par défaut
    je comprend rien
    j'ai suivi un peu quelques tuto sur le web
    j'ai mis le code comme sur le tuto
    et ça fonctionne pas ça renvoie toujours la partie 'error'

    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
    <script type="text/javascript">
    		$(document).ready(function(){
    			$("#sb-trigger-test").click(function(){	     
    			    $.ajax({
    			       url : 'demo_test_ajax.txt',
    			       type : 'GET',
                                   dataType:'text,//avec ou sans 
    			        success: function(data) {
     
                 			 alert(data); },
     
                		error: function() {
     
                  			alert('La requête n\'a pas abouti'); }
    			    });	   
    		    });	   
    		});
     
    </script>
    ça me parait simple pourtant
    quelqu'un pourrait il m'aider ça me désespère !

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    ça me parait simple pourtant
    peut être que cette ligne est syntaxiquement incorrecte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataType:'text,//avec ou sans
    manque une apostrophe fermante.

  4. #4
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 238
    Par défaut
    oui surement mais j'ai tout recommencé a zero
    depuis j'ai voulu faire encore plus simple

    j'ai vu un petit tuto ici :
    http://www.tuto-jquery.fr/ajax_jquery.php

    par contre je suis dans mon site wordpress
    a priori le jquery.js est chargé mais j'ai quand meme mis celui du tuto dans mon dossier js du site et l'appel dans functions du theme enfant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    wp_enqueue_script('jquery',get_stylesheet_directory_uri() . "/js/jquery.js"); // c'est un theme enfant donc get_stylesheet_directory_uri()
    j'ai enlevé les anciens jquery pour etre sur et
    les autres fichiers js du site fonctionnent donc le fichier est correcte je pense

    j'ai bien copié le fichier demo_ajax.html je l'ai mis tour à tour soit dans le dossier js ou dans le dossier où il y a le header

    j'ai mis ce code dans le header juste avant body
    j'ai aussi tenté dans les fichiers js qui fonctionnent sur le site
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <script type="text/javascript">
    $(document).ready( function() {					
    	//Ajax
    	$('#ajax').click( function() {
    	$('#header').load('demo_ajax.html');	
    	});	
    }
    );
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <body <?php body_class(); ?>>
    	<div id="header"  style="width: 100px;height:100px;background:yellow;" >
    		<p>Je suis le header</p>
    	</div>		
    	<input type="button" id="ajax" value="Ajax"/>
    mais ça ne fonctionne pas !!!

  5. #5
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 238
    Par défaut
    le code fonctonne en dehors de wordpress
    mais découvrant jquery et ajax
    peut etre ce que j'ai vu et essayé avant fonctionnait
    mais enervé je suis reparti de zero et j'ai tout supprimé (pas mon theme wordpress ni le site evidement)

    mais c'est wordpress qui bloque le code (conflit ou autrres...)
    ce qui n'est pas evident quant on découvre de nouveaux langages ou fonctionnalités
    et je ne sais pas trop comment je vais adapter mon apprentissage à mon site sous wordpress

    si vous pouviez m'aider je vous remercie par avance

    en ce moment je suis un autre tuto qui "nettoie" wordpress
    http://mwanoz.fr/nettoyer-le-contenu...r-wordpress/2/
    en espérant que cela permettra d executer le code

    Edit : je viens de voir à 5h du mat que sur wordpress il faut mettre le chemin absolu
    j'avais déjà essayé mais en mettant à partir de c:/... et pas le chemin absolu du site (je suis sous wamp
    donc : www/sitebidulessouswp/...
    et là ok

    mais bon je me suis éloigner de mon problème d'origine et espérons en apprenant jquery + ajax que j'aurais pas à me faire planter pendant une journée par ce genre de casse tete
    mais ça m'étonnerait (faut rester optimiste pourtant)

    à propos je suis sous eclipse PDT ya bien une librairie js mais ya pas de "debugger" en ligne (je ne sais pas trop comment on appele ça d'ailleurs)
    en java ou php , eclipse m'indique si ya des erreurs syntaxe et autres mais pas en js

    y'a t il un plugin que vous connaissez à rajouter pour ça ?merci à vous
    (je comprend pourquoi on répondait pas trop c'etait assez vague le bug ne sachant pas) => je continue mon apprentissage jquery et ajax pour aboutir à la manipulation de variable php sans recharger (et sans formulaire $_post,... )

  6. #6
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 238
    Par défaut
    bon je continue mais j'ai besoin d'aide
    j'avais peu de base en js un peu en java ce qui fait que je decrypte un peu à mon niveau le jquery et les quelques tutos jquery ajax

    mais meme si en parallèle j'ai commencé à suivre des tutos jquery et ajax voir reprendre des tutos js pour approfondir (ici ou ailleurs)
    découvrir la syntaxe XHR,etc

    mais j'ai à l'heure actuelle à regler aussi mon probleme sur mon site
    alors je veux le faire avec jquery ajax car çà m'est apparu evident à la fin mais je peux me tromper

    pour l'instant pour tester mes experiences de gros débutant en jquery ajax

    coté fichier js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $('#ajax').on('click', function(e){
    				e.preventDefault();
    		        $.post('/ajax_donnees.php', function(data) {
    		            $('#header').html(data);
    		        });
     
    		    });
    coté fichier php appelé:
    ajax_donnees.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $argscarousel = array(
    		'post_type'=>'post',
    		'posts_per_page' => -1,
    );
    print_r($argscarousel);
    coté fichier php du site :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <div id="header"  style="width: 100px;height:100px;background:yellow;" >
    		<p>Je suis le header</p>
    	</div>		
    	<input type="button" id="ajax" value="Ajax"/>
    après j'ai lu des tutos sur ajax mais je ne vois pas bien comment modifier ma variable $argscarousel coté site
    je pourrais apprendre de A à Z (dans l'avenir pas de problème)

    alors j'aibien tenté sans conviction mais pour essayer de comprendre en regardant les erreurs
    mais je sais que beaucoup choses sont encore confus et absurde pour ceux qui vont me lire

    coté fichier php
    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
     
    <?php 
    function fx(){
            //global $wp_query;
            //global $argscarousel;
            //global $querycarousel;
            
            //wp_reset_query();
            $argscarousel = array(
                            'post_type'=>'post',
                            'posts_per_page' => -1,
            );
            //$querycarousel=new WP_Query($argscarousel);
            print_r($argscarousel);
            //return $argscarousel;
    }
     
    ?>
    coté js:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	$('#ajax').click(function() {
    		        // L'URL du fichier dans lequel appeller la fonction
    		        var url = '/ajax_donnees.php';
    		        $.post(url, function(data){
    		            // affichage le contenu dans la div
    		            $('#header').html(data);
    		        });
    		    });

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

Discussions similaires

  1. Evénément sur un changement de variable PHP
    Par hawksylver dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/09/2015, 15h50
  2. Réponses: 3
    Dernier message: 14/10/2013, 17h54
  3. Réponses: 5
    Dernier message: 14/06/2006, 16h35
  4. [FLASH 8] Detecter changement valeur d'une variable
    Par orelero dans le forum Flash
    Réponses: 1
    Dernier message: 18/02/2006, 18h25
  5. Utiliser la valeur d'un input dans une variable php
    Par megane dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/08/2005, 16h02

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