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

AJAX Discussion :

[AJAX] Récupération de la valeur d'un $_GET


Sujet :

AJAX

  1. #1
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut [AJAX] Récupération de la valeur d'un $_GET
    Bonjour,

    j'ai créé un calendrier avec le plugin jQuery FullCalendar.
    J'utilise la version "drag & drop" du calendrier.

    Quand je drag un évènement sur mon calendrier, j'appelle une page php qui exécute une requête mysql.

    Lors de mon appel, je fais un $_GET qui contient une date (au format à rallonge : date, format, ville indiquant le GMT ...).
    Dans ma base de données, il faut que j'enregistre l'évènement avec sa date (donc ce qu'il y a dans le $_GET).
    Sauf que ça ne fonctionne pas !

    Et le problème est plus précis :
    - cela fonctionne quand je mets une chaîne de caractères dans ma variable ou même quand j'appelle la fonction date() de php
    - mais quand je veux juste récupérer mon $_GET['date'], ça ne fonctionne pas.

    Voici mon code (problème vers le bas) :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    $('#calendar').fullCalendar({
    			header: {
    				left: 'prev,next today',
    				center: 'title',
    				right: 'month,agendaWeek,agendaDay'
    			},
    			editable: true,
     
    			events: "json-events.php",
     
    			eventDrop: function(event, delta) {
    				alert(event.title + ' was moved ' + delta + ' days\n');
    			},
     
    			droppable: true, // this allows things to be dropped onto the calendar !!!
    			drop: function(date, allDay) { // this function is called when something is dropped
     
    				// retrieve the dropped element's stored Event Object
    				var originalEventObject = $(this).data('eventObject');
     
    				// we need to copy it, so that multiple events don't have a reference to the same object
    				var copiedEventObject = $.extend({}, originalEventObject);
     
    				// assign it the date that was reported
    				copiedEventObject.start = date;
    				copiedEventObject.allDay = allDay;
     
    			   	// render the event on the calendar
    				// the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
    				$('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
     
    				// is the "remove after drop" checkbox checked?
    				if ($('#drop-remove').is(':checked')) {
    					// if so, remove the element from the "Draggable Events" list
    					$(this).remove();
    				}
    		// PROBLEME ICI		
    				$.ajax({
    				type: 'GET',
    				data: 'date='+date,
    				url: 'movedate.php?date='+date,
    				success: function(html) {
    					alert('Message de retour : ' + date); // La date a été mise à jour, l'alert affiche bien la date
    					}
    				});
    			}
     
    		});
    	});
    Et mon code php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    if(isset($_GET['date'])) 
    {
            $date = 'mon get reussi';
            // $_GET['date'] ne fonctionne pas
    }
    else $date = date("Y m d");
     
    $req = "UPDATE matable SET monchamp = 'blablabla $date' WHERE monchamp = '123'";
    $res = mysql_query($req);
     
    ?>
    monchamp est un champ texte.
    Tout passe bien dans mon if() mais si je mets $date = $_GET['date']; plus rien ne change dans ma base.

    Et je ne vois pas bien pourquoi j'ai ce comportement ...
    De plus, j'ai ajouté dans l'url (dans le javascript) : ?date+date alors que c'est ce que j'ai dans data au dessus. Donc peut-être inutile ou mal écrit ?

    Si vous pouviez m'aider ^^

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    ?date+date

    EDIT
    c'est bien, mais à quel moment date est-il définit dans $.ajax()
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éclairé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 702
    Par défaut
    Citation Envoyé par Bovino Voir le message
    c'est bien, mais à quel moment date est-il définit dans $.ajax()

    Au moment ou il Drop.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    drop: function(date, allDay) { }
    La function $.ajax faisant partit de la fonction $('#calendar').fullCalendar({})


    Par contre je changerais la requête AJAX par ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $.ajax({
    	type: 'GET',
    	dataType: "json",
    	data: 'date='+date,
    	url: 'movedate.php,
    	success: function(html) {
    		alert('Message de retour : ' + date); // La date a été mise à jour, l'alert affiche bien la date
    	}
    });

    Et la requête 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
    if(isset($_GET['date'])) 
    {
    	$date = 'mon get reussi';
    	// $_GET['date'] ne fonctionne pas
    }
    else $date = date("Y m d");
     
    $req = "UPDATE matable SET monchamp = 'blablabla $date' WHERE monchamp = '123'";
    if($res = mysql_query($req)){
    $retour = '{"Result": "Ok"}'; // ou tout autre message plus parlant
    } else {
    $retour = '{"Result": "NOk"}';
    }
    return $retour;

    Car traiter un succès AJAX avec des variables d'origine ne sert a rien.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alert('Message de retour : ' + date); // La date a été mise à jour, l'alert affiche bien la date
    C'est un peu comme demander a quelqu'un si 2 + 2 = 5 et de ne pas attendre son retour afin d'affirmer haut et fort ton résultat..

  4. #4
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Merci pour les réponses, problème résolu !

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

Discussions similaires

  1. [AJAX] Récupération de la valeur d'un select
    Par TomtomGesti dans le forum AJAX
    Réponses: 9
    Dernier message: 27/10/2010, 14h26
  2. Réponses: 1
    Dernier message: 01/10/2010, 18h07
  3. [AJAX] Récupération de valeurs.
    Par maximation dans le forum AJAX
    Réponses: 7
    Dernier message: 13/01/2010, 12h40
  4. Réponses: 1
    Dernier message: 19/05/2009, 12h48
  5. [AJAX] Récupération d'une valeur en retour d'un php
    Par lodan dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/02/2007, 21h18

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