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 20/01/2011, 20h18   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2010
Messages : 80
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 80
Points : 10
Points : 10
Envoyer un message via MSN à doud180878
Par défaut suppression de donnée avec du php

Bonsoir,

Je suis en plein dev et j'aurai besoin de vos lumières. J'ai récupéré un code sur internet qui me permet de supprimer un enregistrement en php mais qui fonctionne pas des masses. Je m'explique.

J'arrive bien à effacer( en ajax ) la ligne que je veux supprimer mais pas la "supprimer" de la base de donnée. Je suis bien relié a mon fichier mais il y a un problème de variable que je retourne.

Cote ajax :

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
<script type="text/javascript">
$(document).ready( function () {
	$('a.supprimer').click(function(e) { // quand on clique sur un lien supprimer
		e.preventDefault(); // annule l'effet du lien pour pas recharger la page
		var id = $(this).attr("rel"); // on recupere l'id de l'element a supprimer (qui est dans l'attribut rel du lien)
		if(confirm('Supprimer cet élément ?')) { // on demande une confirmation
			var parent = $(this).parents("li"); // on recupere le paragraphe parent du lien (qui contient l'element a supprimer)
			$.ajax({ 
				type: "POST", // les variables seront passées en POST (comme d'hab pour les recuperer en php $_POST[id] par exemple)
				url: "suppr.php", // on appelle le fichier php suppr.php qui supprimer l'element de la base de donnees (dans mon cas, ce fichier est vide)
				data: "id", // variable que l'on passe au fichier php
				beforeSend: function() {
					parent.animate({'backgroundColor':'#FF3F47'},800); // animation a faire avant l'envoi (on change le fond avec un fondu jusqu'à la couleur #FF3F47)
				$(this).delay(1000,function(){ // on attend 1.2 secondes
							parent.slideUp(500,function() { // et on fait disparaitre l'element en l'enroulant
							});
						});
 
				},
 
			});
		}
	});
});
</script>

cote php :

Code :
1
2
3
4
5
6
foreach( $_POST['id'] as $id )
{
    mysql_query( 'DELETE 	FROM au_menu WHERE id = \'' . safe( $id ) . '\'' , $link ) or die( mysql_error() );
     mysql_query( 'DELETE 	FROM au_page WHERE id = \'' . safe( $id ) . '\'' , $link ) or die( mysql_error() );
 
}
Je dis qu'il fonctionne car je l'ai essayé a vide sans variable juste avec un id.

Merci de votre aide.
doud180878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 22h30   #2
Membre éprouvé
 
Avatar de nounetmasque
 
Inscription : janvier 2003
Messages : 491
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 491
Points : 488
Points : 488
Citation:
Envoyé par doud180878 Voir le message
Je dis qu'il fonctionne car je l'ai essayé a vide sans variable juste avec un id.
Ce qui signifie ? Ton script PHP est-il bien appelé par l'AJAX ?
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."
nounetmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 23h03   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2010
Messages : 80
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 80
Points : 10
Points : 10
Envoyer un message via MSN à doud180878
oui mon script est bien appelé par ajax.

En fait, je voudrais savoir comment est relié mon script ajax à mon fichier php. Je sais que je dois récupérer un $_POST et c'est un id mais comment le déclarer?

Ca doit ce situé ici :

Code :
1
2
3
4
$.ajax({ 
				type: "POST", // les variables seront passées en POST (comme d'hab pour les recuperer en php $_POST[id] par exemple)
				url: "suppr.php", // on appelle le fichier php suppr.php qui supprimer l'element de la base de donnees (dans mon cas, ce fichier est vide)
				data: "id",
Mais je ne vois pas.
doud180878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2011, 10h27   #4
Candidat au titre de Membre du Club
 
Inscription : mai 2010
Messages : 80
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 80
Points : 10
Points : 10
Envoyer un message via MSN à doud180878
en fait j'ai récupéré un id que je transforme en post avec la fonction ajax et que j'envoie au php

voila l'autre parti de mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
 
	<li id="menu_<?php echo $donnees['id'] ?>"> 
 
....
 
<span><a href="#" class="supprimer" rel="<?php echo $donnees['id'];?>">Supprimer</a></span>
 
 
 
									</li>

j'ai mis un id dans le "li" et dans le lien. Mis je ne vois ps ce que je renvoie mal...
doud180878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2011, 11h12   #5
Membre éprouvé
 
Avatar de nounetmasque
 
Inscription : janvier 2003
Messages : 491
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 491
Points : 488
Points : 488
Tu utilises JQuery pour tes appels Ajax non ? Si oui je ne connais via ce framwork comment est gérer le passage de paramètres
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."
nounetmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2011, 12h09   #6
Candidat au titre de Membre du Club
 
Inscription : mai 2010
Messages : 80
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 80
Points : 10
Points : 10
Envoyer un message via MSN à doud180878
Oui j'utilise Jquery. je n'en suis pas loin il dois me manquer un élément ou je dois mal le cibler.

Je reviendrais vous tenir au courant. Merci
doud180878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2011, 12h27   #7
Candidat au titre de Membre du Club
 
Inscription : mai 2010
Messages : 80
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 80
Points : 10
Points : 10
Envoyer un message via MSN à doud180878
je viens de trouver la solution. en fait ce qui change dans le code que j'ai posté c'est cette partie :
Code :
1
2
3
4
5
6
 
 
$.ajax({ 
				type: "POST",
				url: "suppr.php", 
				data: "id="+id,
et je récupère simplement l'id en faisant un $_POST['id']; dans mon fichier suppr.php

Et voila le reste est bon et j'ai bien ma suppression en visu et dans la base de donnée
doud180878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h22.


 
 
 
 
Partenaires

Hébergement Web