2010-09-17 6 views
1
$(function() { 
     $(".follow").click(function(){ 
     var element = $(this); 
     var I = element.attr("id"); 
     var info = 'id=' + I; 

     $.ajax({ 
      type: "POST", 
      url: "listen.php", 
      data: info, 
      success: function(){} 
      }); 

     $("#follow"+I).hide(); ///showing the remove button after the data has been entered 
     $("#remove"+I).show(); 
     return false; 

     }); 
}); 

Le fichier PHP listen.phpcomment puis-je créer une fonction de retour en arrière?

<?php session_start(); 
include_once ('includes/connect.php'); 

$id = $_POST['id']; 
$follower = $_SESSION['user_id']; 

$registerlistener = mysql_query("INSERT INTO relationships (leader, listener) VALUES('".$id."', '".$follower."')"); 
?> 

ce que je veux faire est quand je clique sur le bouton de suivi, je veux vérifier si les données ont été entrées dans la base de données, avant d'afficher le bouton Supprimer , essentiellement en vérifiant sur le fond.

Répondre

1

mysql_query retournera VRAI ou FAUX. Vous pouvez en faire écho à partir du script PHP et faire en sorte que l'appel ajax le lise.

listen.php:

<?php session_start(); 
include_once ('includes/connect.php'); 

$id = $_POST['id']; 
$follower = $_SESSION['user_id']; 

$registerlistener = mysql_query("INSERT INTO relationships (leader, listener) VALUES('".$id."', '".$follower."')"); 

echo json_encode(array('response'=>$registerlistener)); 
?> 

Dans votre JavaScript:

$.ajax({ 
type: "POST", 
url: "listen.php", 
data: info, 
dataType: 'json', 
success: function(data){ 
    if(data.response){ 
     // mysql_query returned TRUE 
     $("#follow"+I).hide(); 
     $("#remove"+I).show(); 
    } 
    else{ 
     // FALSE 
    } 
} 
}); 

Si vous voulez, vous pouvez utiliser le raccourci $.post:

$.post('listen.php', info, function(data){ 
    if(data.response){ 
     // mysql_query returned TRUE 
     $("#follow"+I).hide(); 
     $("#remove"+I).show(); 
    } 
    else{ 
     // FALSE 
    } 
}, 'json'); 
0

Placez le code que vous voulez exécuter dans votre fonction de rappel «succès».

$.ajax({ 
    type: "POST", 
    url: "listen.php", 
    data: info, 
    success: function(){ 
     $("#follow"+I).hide(); 
     $("#remove"+I).show(); 
    } 
}); 
0

le faire comme ceci:

listen.php

<?php session_start(); 
include_once ('includes/connect.php'); 

$id = $_POST['id']; 
$follower = $_SESSION['user_id']; 

if($registerlistener = mysql_query("INSERT INTO relationships (leader, listener) VALUES('".$id."', '".$follower."')")): 
echo "true"; 
else: 
echo "false"; 
endif; 
?> 

paramètre passe en fonction de la réussite, par exemple "msg". tout ce qui était en echo'ed listen.php sera dans la variable msg maintenant

success: function(msg){} 
if(msg == "true") 
{ 
//do something 
} 
else 
{ 
//show error message 
} 
      }); 
Questions connexes