Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/04/2011, 02h54   #1
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Par défaut Supprimer message livre d'or Ajax

Bonsoir à tous,

Voilà plusieurs heures que je suis à la recherche d'un script rapide permettant la suppression d'un message dans le livre d'or, sans que cela ne rafraîchisse ma page, mais que ça supprime bien le message côté client et côté serveur, donc bien sûr en Ajax..
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 05h53   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
Bonjour,

Tu lances une requête Ajax pour supprimer dans la base et retourne un petit mot au client si ça a été bien supprimer ou non. Si c'est bien supprimer, tu faits un removeChild pour supprimer coté client.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 11h44   #3
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
J'ai ça :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
        <script type="text/javascript">
            function supprimer(id){
                if (id > 0) {
                    //Exécution du script PHP avec Ajax
                    $.get('removeTopic.php', {
                        idsup:id  //variable de type GET (on récupèrera la variable avec $_GET['idsup'])
                    }, function(data){
                    });
 
                }
            }
        </script>
Et ensuite je fais l'appelle de la fonction sur une balise lien, de la sorte :

echo "<br /><a href='supprimer($idDel)'>Remove</a>";

Du fait, je ne sais pas quoi mettre dans la partie "function(data)"..
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 11h55   #4
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
Comme tu utilises jQuery, utilise remove.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 12h01   #5
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
En AJAX pur et dur comment aurait-on pu faire ?
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 12h15   #6
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
AJAX, c'est pour lancer une requête au serveur sans recharger la page. le remove c'est pour supprimer la ligne coté client. Mais tous les 2 sont tous de javascript.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 12h22   #7
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Je drag & drop l'exemple que tu m'as filé, et maintenant je souhaiterais qu'en même temps que ça lance le , je puisse en même temps supprimer une ligne de ma sql, effectuer une requête en même temps qu'on appuie sur le remove quoi..
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 12h27   #8
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
ben tu mets le remove dans le corps de function(data). Une fois la suppression dans la base effectué, tu supprimes l'affichage.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 12h42   #9
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Je te décompose mes 3 parties :

*J'ai déjà celle ci dans le head du html :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        <script type="text/javascript">
            function supprimer(id){
                if (id > 0) {
                    //Exécution du script PHP avec Ajax
                    $.get('remove.php', {
                        idsup:id  //variable de type GET (on récupèrera la variable avec $_GET['idsup'])
                    }, function(data){
                        //si la requête s'est bien déroulée
                        $("p").remove();
                    });
 
                }
            }
        </script>
*Ensuite j'ai dans mon php le bouton Remove qui déclenchera toute l'action. Il faut savoir que je le mets à l'intérieur d'un foreach, comme ça ça supprimera une seule entité et non toutes :

Code :
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
<p>
                                    <?php
                                        echo "<a href='showTopic.php?id=".$topic->getId()."'>";
                                        echo $topic->getName();
                                        echo "</a><br />";
 
                                        $user = $userManager->findUserById($topic->getAuthorId());
 
                                        echo "Created by ".$user->getFirstName()." ".$user->getLastName()." the ".$topic->getCreationDate();
 
                                        if (isset($_SESSION['is_admin']) && ($_SESSION['is_admin'] == true))
                                        {
                                            //echo "<br /><a href='removeTopic.php?id=".$topic->getId()."'>Remove</a>";
                                            $idDel = $topic->getId();
                                            //echo "<br /><a href='supprimer($idDel)'>Remove</a>";
                                            ?>
                                              <!--<p class="hello">Hello</p>
                                              how are
                                              <p>you?</p>-->
 
                                              <button>Remove</button>
                                            <script>
 
                                                $("button").click(function () {
                                                  $supprimer(<?php $idDel; ?>);
                                                });
 
                                            </script>
                                            </p>
*Enfin dans ma page remove.php je lance la fonction "removeTopic($_GET['idsup']);"

Le problème est que quand j'appuie sur Remove rien ne se déroule, il doit en effet ne pas arriver à la requête SQL.. mais je ne vois pas où ça coince
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 13h13   #10
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
Citation:
<button>Remove</button>
<script>

$("button").click(function () {
$supprimer(<?php $idDel; ?>);
});

</script>
Code html :
<input type="button" onclick="supprimer('<?php $idDel; ?>');" value="Remove" />
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 13h48   #11
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Il ne se passe toujours rien lorsque je clique sur le bouton "Remove", j'comprends pas :S...

Après debug avec des alert(), je vois qu'il ne passe aucunement dans le "$.get('removeTopic.php'", j'comprends pas pourquoi..
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 14h39   #12
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
Essaye avec

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
function supprimer(id){
                alert(id);
                if (id > 0) {
                    //Exécution du script PHP avec Ajax
                    $.get('remove.php', {
                        idsup:id  //variable de type GET (on récupèrera la variable avec $_GET['idsup'])
                    }, function(data){
                        //si la requête s'est bien déroulée
                        $("p").remove();
                    });
 
                }
            }
Et montre nous ton code html généré mais pas le PHP.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 14h49   #13
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
L'alert me donne seulement :

Citation:
Page sur localhost:8888 says:
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 15h09   #14
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
Donc id n'a pas de valeur .

Montre nous ton code html généré , enfin si tu veux qu'on pourras t'aider

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 15h28   #15
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Mon code html est créer à partir d'un foreach php qui ressort des résultats un à un d'une requête, ce qui donne par exemple quelque chose comme ça :

Code :
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
<table> 
                            <tr> 
                                <th></th> 
                                <th>Topic / Author</th> 
                                <th>Messages</th> 
                            </tr> 
                                                        <tr> 
                                <td></td> 
                                <td> 
                                    <p> 
                                    <a href='showTopic.php?id=7'>TestTHreefedff</a><br />Created by Max Fries the 2011-04-14 15:19:28                                              <!--<p class="hello">Hello</p>
                                              how are
                                              <p>you?</p>--> 
 
                                              <input type="button" onclick="supprimer('');" value="Remove" /> 
                                            </p> 
                                                                           </td> 
                                <td> 
                                    0                                </td> 
                            </tr> 
                                                        <tr> 
                                <td></td> 
                                <td> 
                                    <p> 
                                    <a href='showTopic.php?id=10'>Resst</a><br />Created by jdksj fg the 2011-04-14 16:14:10                                              <!--<p class="hello">Hello</p>
                                              how are
                                              <p>you?</p>--> 
 
                                              <input type="button" onclick="supprimer('');" value="Remove" /> 
                                            </p> 
                                                                           </td> 
                                <td> 
                                    3                                </td> 
                            </tr> 
                                                    </table>
Donc le truc serait de pouvoir supprimer en même temps que la ligne dans la base de données, un code situé entre une balise <p></p>
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 15h37   #16
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
Citation:
<input type="button" onclick="supprimer('');" value="Remove" />
Tu vois que ton paramètre est vide?
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 15h49   #17
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Je vois mais c'est pas normal, car dans mon php je fais :

Code :
<input type="button" onclick="supprimer('<?php $idDel; ?>');" value="Remove" />
Et j'ai fait un test "echo $idDel;" et ça affiche bien un ID...
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 15h52   #18
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
Parce que sur ton input, il n'y a pas d'echo

Code :
<input type="button" onclick="supprimer('<?php echo $idDel; ?>');" value="Remove" />
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 15h57   #19
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Oui désolé je l'ai vu en envoyant le message >.<".
Ok maintenant l'action du delete fonctionne, mais il y a un problème à l'affichage. Lorsque j'appuie sur le "Remove", le DELETE dans ma table fonctionne, mais à l'écran ne s'enlèvent pas les choses que je souhaiterais..
Devrais-je créer une <div> avec un id, comme ça ça supprime que la div avec l'id demandée ? Si oui, comment l'implémenter dans la fonction ?
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 16h02   #20
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 267
Points : 7 267
Dans le tr qui contient les donné à supprimer, tu lui donnes un id comme
Code :
id="ligne<?php echo $idDel; ?>"
et dans le javascript

Code :
1
2
3
4
function(data){
                        //si la requête s'est bien déroulée
                        $("#ligne"+id).remove();
                    }
A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h45.


 
 
 
 
Partenaires

Hébergement Web