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 :

Passage variable post [AJAX]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 64
    Par défaut Passage variable post
    bonjour à tous ,

    étant débutant en ajax, je tente d'enregistrer dans ma base les positions de mes images , mais cela ne fonctionne pas ....

    j'ai fais plusieurs tentative , mais je n'arrive pas à résoudre se problème du à ma méconnaissance ....

    ce petit fichier permet d'afficher des photos et de pouvoir les déplacer en drag dans l'ordre que l'on souhaite .

    voilà ce que j'ai essayé de faire mais sans succès merci d'avance pour votre aide :-) )

    formulaire :

    Code html : 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
    51
    52
    53
    54
    55
    56
    57
    58
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Document sans titre</title>
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
     
     
    <!-- Styles de votre liste -->        
    <style type="text/css" media="all">
     
         li{
      display: inline-block;
      margin-left: 10px;
      width: 10%;
    }
    </style>
     
    </head>
     
    <body>
    <ul id="sortable" > 
    <?php
    include('connect.php');
    $Id_bien = ('14');
     
    $resultat=$pdo->query("SELECT * FROM photo_bien WHERE Id_bien = '".$Id_bien."'");
    $resultat->setFetchMode(PDO::FETCH_OBJ);
    while($result_bien = $resultat->fetch() )
    {
     
    ?>
     
        <li  id="<?php echo $result_bien->Id_photo; ?>"><img width="150" src="<?php echo $result_bien->photo_bien; ?>"></li>
     <?php
    }
    ?>
     
    </ul>
    <script type="text/javascript">
    $(document).ready(function () {
        $('ul').sortable({
            axis: 'x',
            stop: function (event, ui) {
                    var data = $(this).sortable('serialize');
                $.ajax({
                    data: oData,
                    type: 'POST',
                    url: 'set_position.php'
                });
            }
        });
    });
    </script>  
     
    </body>
    </html>

    et le fichier d'enregistrement dans la base :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?
    	include('connect.php');
    	$sortable = $_POST['sortlist'];
    	for ($i = 0; $i < count($sortable); $i++) {
    			// SQL :
    			$pdo->exec("update photo_bien set position ='".($i + 1)."' where Id_photo = '".$sortable[$i]."'");
    	}
    ?>

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 518
    Par défaut
    Salut,
    -Pourquoi tu mets le $Id_bien entre parenthèse ?
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $Id_bien = ('14');

    -Tu as déclaré une variable "data" mais tu envoies une autre variable "oData" qui est indéfinie dans le script.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var data = $(this).sortable('serialize');
    $.ajax({
        data: data,//ici c'est data au lieu de oData
        type: 'POST',
        url: 'set_position.php'
    })
    .fail(function(err){//en cas d'erreur
         alert("Erreur ajax :"+err);//une alerte s'affichera 
    });

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 64
    Par défaut
    bonsoir toufik83 et merci pour ton aide ..

    j'ai donc fais la modification qui paraissait évidente ....

    malheureusement cela ne fonctionne pas ....et je n'ai pas d alert erreur ..

    et la je bloque ....

    j'ai essayé ça , mais sans succès et le query string est vide ....

    je comprend plus

    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 type="text/javascript">
    $(document).ready(function () {
        $('#sortable').sortable({
    		accept : 'sortable_item',
            axis: 'x',
            onchange : function ( sorted ) {
    	        serial = $.SortSerialize ('sortable');
    			$('span').text(serial);
    		$.ajax({
        		url : "set_position.php",
                    type : "post",
                    data : serial.hash,
    })
     
     
    		}
        });
    });
    </script>  
    Query string: <span></span>

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 518
    Par défaut
    Si tu ajoutes la fonction done d'ajax

    Code jQuery : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $.ajax({
        data: data,
        type: 'POST',
        url: 'set_position.php'
    })
    .done(function(data){
        console.log('success, data :',data);//tu vois cette ligne dans la console ?
    })
    .fail(function(err){//en cas d'erreur
         alert("Erreur ajax :"+err);//une alerte s'affichera 
    });

    Puis tu mets un echo de la variable $sortable dans set_position.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "sortable :".$sortable;

    ça donne quoi dans la console ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 64
    Par défaut
    j'ai fais les modification que tu m'as donné , j'ai été dans la console mais rien ne s'affiche ....

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 518
    Par défaut
    Je n'ai pas vu qu'il manque un "php" au début de set_position.php :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    //ton code php...
    ?>

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

Discussions similaires

  1. [CS4]Région répétée: Passage variable POST
    Par billledouble dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 08/09/2009, 10h42
  2. Passage de variables POST sans formulaire
    Par seb92400 dans le forum Langage
    Réponses: 8
    Dernier message: 29/04/2009, 11h04
  3. [PHP-JS] Passage de variables POST à un autre serveur
    Par phillag dans le forum Langage
    Réponses: 9
    Dernier message: 29/02/2008, 14h36
  4. Passage de variables post
    Par dream_of_australia dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/06/2007, 17h27
  5. passage variable Makefile - source C
    Par fcbouan dans le forum Systèmes de compilation
    Réponses: 3
    Dernier message: 15/11/2005, 09h41

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