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 :

[jQuery / JSON /PHP] Effectuer une requete et envoyer le resultat en JSON


Sujet :

jQuery

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [jQuery / JSON /PHP] Effectuer une requete et envoyer le resultat en JSON
    Bonjour

    Je viens ici afin d'avoir quelques éclaircissements sur mon problème (logique, sinon pourquoi poster ? ).
    Je vous le détaille.

    J'ai d'un côté, un script client quasi-full ajax. Il s'agit d'un système d'upload de photos, basé sur Uploadify.
    J'utilise jQuery afin de rajouter des effets graphiques, rendre la navigation plus plaisante...

    Voici ce que fait le script client :
    1. On saisie le(s) photo(s) à envoyer sur le serveur (on peut faire du multiupload) ;
    2. Les photos sont uploadées, renommées (à l'aide de microtime + rand) ;
    3. En parallèle, on enregistre le nom orignal de la photo ainsi que diverses informations dans un BDD ;
    4. On affiche un formulaire pour saisir des tags, infos... pour chaque photo précédemment up (c'est ici que j'ai un soucis)


    Revenons à l'étape 3.
    Ma photo est uploadée, à la fois le fichier (dans une répertoire) et les infos (dans la BDD).
    Je dois alors récupérer dans la BDD tout ce qui vient d'être enregistré. Je lance donc à la fin de l'upload un script PHP (form.php, à l'aide de jQuery.post() ) qui récupère tout ça.
    Je dois ensuite envoyer le résultat à la page cliente (index.php) le résultat de cette récupération.

    Pour ça, j'utilise JSON.
    Voici mon form.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
    19
    20
    21
    22
    <?php
     
        $handle = mysql_connect('localhost', 'root', '');
        $db = mysql_select_db('galerie');
     
        $request = "SELECT CONCAT('[',
                    GROUP_CONCAT(
                        CONCAT('{id:',id,''), 
                        CONCAT(',nom:',nom,''),
                        CONCAT(',url:',url,'}')
                        ),
                    ']')
                    AS json
                    FROM media
                    WHERE session='".$_POST['session'];
        $result = mysql_query($request);
        //$tab = mysql_fetch_array($result);
        mysql_close($handle);
     
        echo json_encode($result);    
     
    ?>
    Et la gestion côté client (je ne met que la partie concernée) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    jQuery.post("form.php", { session: "<?php echo $session; ?>" },
            function(data){
                alert(data.id); // Test
            }, "json");
    Seulement, le alert() m'indique que data.id est indéfini.
    Et si je ne met que data, j'obtiens false au lieu de la chaine JSON.


    Quelqu'un saurait m'indiquer mon erreur ?
    Merci d'avance !
    Dernière modification par Invité ; 07/10/2009 à 11h17.

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

Discussions similaires

  1. PHP : construire une requete SQL
    Par Commodore dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 27/07/2006, 08h59
  2. [ Requete ] effectuer une requete avec la valeur d'un combo box
    Par Jeremie_Vi dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 28/06/2006, 15h36
  3. [Conception] Comment créer un lien pour effectuer une requete ?
    Par Poutchou dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/03/2006, 11h54
  4. effectuer une requete insert avec 'values' ET 'select'
    Par delaio dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/08/2004, 19h05

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