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] Modifier un champ par clic


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 27
    Par défaut [AJAX] Modifier un champ par clic
    Bonjour,

    J'ai un tableau, et j'aimerai pouvoir modifier la colonne "Quantité" en cliquant dessus puis en modifier la valeur et en enregistrant la modification dans ma BDD.

    Le problème c'est que ma fonction "modif" n'est pas reconnue... Erreur de firebug quand je clique sur une quantité : "modif is not defined"

    Extrait de "fonctions.js" :
    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
    	function modif(id, element, champ, table) {
    var saisie = document.createElement("input");
    saisie.value = element.firstChild.data;
    saisie.style.width  =  "100px";
    element.replaceChild(saisie, element.firstChild);
    saisie.focus();
    saisie.select();
    saisie.onblur = function() {
    sauver(id, element, champ, saisie.value, table);
      }
    }
     
    function sauver(id, element, champ, valeur, table) {
    new Ajax.Request 
        ( "modifier.php", 
    	{
    	method: 'get',
    	parameters: {id: id, champ: champ, valeur: valeur, table: table},          
    	onComplete: function(requete) 
    		{
    			element.innerHTML = requete.responseText;
    	    }
    	}
        )
    }
    Mon tableau (c'est ici que ca coince je pense) :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $tab .=	"<tr height='200'>
    			<td>$film->NUMFILM</td>
    			<td width='100' onClick=\"zoom('".$film->IMAGE."', '".htmlentities(addslashes($film->TITRE), ENT_QUOTES)."');\">
    			<img src=\"".$film->IMAGE."\" alt='&nbsp;' class='photo' /></td>
    			<td>".htmlentities($film->TITRE, ENT_QUOTES)."</td>	
    			<td>".htmlentities($film->REALISATEUR, ENT_QUOTES)."</td>
    			<td>$film->ANNEE</td>
    			<td>".htmlentities($film->GENRE, ENT_QUOTES)."</td>
    			<td>$film->DUREE</td>
     
    			<td onclick=\"modif($film->NUMFILM, this, 'QTE', 'film')\">$film->QTE</td>
     
    		</tr>";

    Et le fichier "modifier.php" :
    Code php : 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
    <?PHP
     
    require ("connexion.php");
    require ("Connect.php");
    require("fonctions.js");
    	$connexion = mysql_pconnect (SERVEUR, NOM, PASSE);
    	mysql_select_db (BASE, $connexion); 
     
     
    extract($_GET);
    $req="UPDATE film SET $champ='$valeur' WHERE QTE='$id'; ";
    $ok=mysql_query($req);
     if ($ok)
     echo $valeur;
     
    ?>

    Merci de votre aide!

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2009
    Messages : 126
    Par défaut chargement js
    Bonjour,
    les fichiers js sont bien appelés dans la page html ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 27
    Par défaut
    Effectivement j'avais déplacé le fichier entre temps et oublié de modifier le chemin -_-

    Mais maintenant mon problème c'est que les modifications ne s'enregistrent pas dans la BDD, je pense que ce sont les paramètres de la requête SQL, j'ai pas du les mettre dans le bon ordre ^^

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    Il est préférable de voir le code HTML qui utilise l'AJAX que le code PHP sur le forum AJAX et Javascript.

    Sinon :
    $req="UPDATE film SET $champ='$valeur' WHERE QTE='$id'; ";
    1- vire le ";" dans la requête.
    2- C'est normale que dans ton clause Where que tu fasses l'égalité avec un champ QTE (que je suppose quantité) avec une variable "$id" (que je suppose l'id de l'enregistrement) ?

    A+.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 27
    Par défaut
    Oui c'était ça, c'est un ami qui m'avait dit de mettre comme ça ^^

    Merci a tous pour vos réponses! Sujet résolu!

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 139
    Par défaut
    Le plus souvent, cette erreur arrive quand une quote, une parenthèse ou une accolade est mal fermée.

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

Discussions similaires

  1. Impossible de modifier un champ par innerHTML si il a été modifié manuellement
    Par Mr. Sandwich dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/10/2008, 12h20
  2. [FB 1.5]modifier 2 champs par un trigger
    Par Moine dans le forum SQL
    Réponses: 1
    Dernier message: 24/11/2007, 08h37
  3. verrouiller les champs par clic sur un bouton
    Par rasta girl dans le forum IHM
    Réponses: 10
    Dernier message: 19/06/2007, 16h10
  4. [MySQL] Affichage auto de champs par clic sur liste déroulante
    Par Mister Shell dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/12/2006, 12h08
  5. Réponses: 4
    Dernier message: 21/02/2006, 15h41

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