Jump to content

[Résolu] AJAX rafraichir un <tr>


Recommended Posts

Bonjour,

Pour un de mes modules, je dois lister des devis. Je dois pouvoir les supprimer depuis le backoffice, tout se déroule bien mais je dois rafraichir la page pour que le

>echo     '</pre>
<table frame="below">


                           '.$dev['id_devis'].'
</t



mon fichier javascript devis.js:

function supprimer(id){
   if (id > 0) {
       //Exécution du script PHP avec Ajax
       /*$('#tabdevis').animate({  
           'backgroundColor': '#ff8888',  
           'color': '#941010'  
       }, 1000);
        */
       $.ajax({
            type: 'GET',
            data: 'id=' + id,
            url: '/modules/blockdevisgroupe/script.php',
            success:
            function(data){
                if (data == '1') 
                {
                   /*$('#tabdevis').fadeTo("slow", 0, function(){
                       $(this).hide();
                   });*/
                    alert("oui");
                } 
                else
                   {
                       alert("non");
                   }
                }
           });
           }
       }



Et mon fichier script.php qui renvoie 1 si la requête est effectué:

$query = ' DELETE FROM `'._DB_PREFIX_.'devis_groupe`
           WHERE `id_devis` = '.$_GET['id'];

$requete = Db::getInstance()->Execute($query);

if(mysql_query($requete))
       echo '1';
   else
       echo '0';




Lorsque je clic sur supprimer, ça m'affiche directement "non". J'espère que vous pourrez m'aider...

Merci d'avance

Link to comment
Share on other sites

Hmm déjà tu peux un peu simplifier ton écriture, et utilise du Post, toujours mieux.

$.post('modules/blockdevisgroupe/script.php', {id: id}, 
function(data) { 
       alert('data'); 
       $('#tabdevis').fadeOut('slow');
}



Ensuite :

$requete = Db::getInstance()->Execute($query);



Te renvoie déjà un Bool (true si la requête est bonne, false sinon).
Donc un :

return Db::getInstance()->Execute($query);



Devrait être mieux. Car ton "mysql_query" n'a rien à faire ici.

Link to comment
Share on other sites

C'est ce que j'ai vu :)

J'ai remplacé ce que tu m'as dis, mais rien ne se produit...

maintenant j'ai:

function supprimer(id){
   if (id > 0) {
            $.post('modules/blockdevisgroupe/script.php', {id: id}, 
                   function(data) { 
                       alert('data'); 
                           $('#tabdevis').fadeOut('slow');
                });
           }
           }



et:

$query = ' DELETE FROM `'._DB_PREFIX_.'devis_groupe`
           WHERE `id_devis` = '.$_POST['id'];

return Db::getInstance()->Execute($query); 

Link to comment
Share on other sites

J'allais modifier mon code lors de ta réponse :)

Oui j'utilise firebug, c'est pour ca que j'ai vu une petite erreur, l'url était fausse. Maintenant j'ai le même problème qu'avant...

function supprimer(id){
   if (id > 0) {
            $.post('/modules/blockdevisgroupe/script.php', {id: id}, 
                   function(data) { 
                if (data == true)
                    {
                       alert('data');
                           $('#tabdevis').fadeOut('slow');
                    }
                else
                    {
                    alert('help')
                    }
                });
           }
           }



Maintenant ca me renvoie "Help"

Link to comment
Share on other sites

Et bien regarde si tu n'as pas d'erreur JS après avoir cliqué sur le bouton.
Ensuite de quelle boucle parles-tu ?

Pour les fichiers, le premier contient les codes d'accès à la base notamment (serveur, utilisateur, mot de passe).
Et l'autre est le noyau Prestashop qui contient toutes les classes.

Link to comment
Share on other sites

Non c'est bien dans les règles. Je me suis surement trompé sur le fait que Db->Execute renvoie true en cas de succès.
A priori il renvoie le résultat de la requête, donc, sur un "DELETE", ne renvoie rien.

Sur ton 1er message, cliques sur le bouton "Résolu".
Bonne chance pour la suite.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...