2012-10-11 2 views
2

Je viens de créer mon panier here Le bouton ajouter au panier fonctionne parfaitement en ajoutant le produit au panier sans actualiser la page entière.Mettre à jour le panier avec Jquery/Ajax

Ma question est, comment faire le panier à jour le contenu après avoir frappé le lien Ajouter au panier sans rafraîchir les pages

J'ai du code pour gérer l'ajout d'un produit au panier et montrer le contenu de panier.

<?php 
if($what=="addtocart") 
{ 
    if ($cart) 
    { 
     $cart .= ','.$_GET['product_id']; 
    } 
    else 
    { 
      $cart = $_GET['product_id']; 
    } 
    $_SESSION['cart'] = $cart; 
} 
echo writeShoppingCart(); 
?> 

et voici la fonction writeShoppingCart()

function writeShoppingCart() { 
    $cart = $_SESSION['cart']; 
    if (!$cart) { 
     return '<p>You have no items in your shopping cart</p>'; 
    } else { 

echo "<table class=table cellpadding=5 cellspacing=0 width=87% border=0>"; 
echo "<tr class=bold>"; 
echo "<td width=65>ID Product</td>"; 
echo "<td>Pattern</td>"; 
echo "<td>Inst Type</td>"; 
echo "</tr>"; 
    include "config.php"; 
    global $dbhost,$dbusername,$dbpassword; 
    $id_mysql = mysql_pconnect($dbhost,$dbusername,$dbpassword); 
    mysql_select_db($dbname, $id_mysql); 
    $cart = $_SESSION['cart']; 
     $items = explode(',',$cart); 
     $contents = array(); 
     foreach ($items as $item) { 
      $contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1; 
     } 
     foreach ($contents as $id=>$qty) { 
     $view2 = "SELECT * FROM $table_product WHERE id='$id'"; 
     $result2 = mysql_query($view2); 


     while 
      ($baris=mysql_fetch_row($result2)) 
      { 
echo "<tr>"; 
echo "<td>$baris[1]</td>"; 
echo "<td>$baris[2]</td>"; 
echo "<td>$baris[3]</td>"; 
echo "</tr>"; 
      } 

     } 
     echo "</table>"; 
     echo "<span class=\"go_cart\">&raquo;&nbsp;<a href=\"cart.php\">View Complete Basket</a></span>"; 
    } 
} 

est-il un indice pour faire le echo writeShoppingCart(); reload après avoir ajouté un produit au panier?

+0

c'est parce que pour afficher la mise à jour du panier à l'utilisateur – XMen

+0

pelase tag votre question la prochaine fois que PHP. :-) –

Répondre

0

vous avez oublié d'ajouter session_start() après l'ouverture de votre <?php tag donc je pense que vous faites référence à une variable vide lorsque vous faites ceci: $_SESSION['cart'] = $cart; $ _SESSION [ « cart »] reste vide utiliser la variable de session, vous avez toujours mettre session_start directement en haut de la page;

<?php session_start(); 
    //your stuff here 
?> 

Je viens de vérifier votre page maintenant et je remarque que vous travaillez au sein de wordpress, ne prend pas en charge wordpress à l'aide des variables de session, de sorte que vous devrez rechercher la page dans votre thème qui reçoit la première commande , c'est généralement le header.php dans le répertoire de votre thème: /yourroot/wp-content/themes/yourthemename/header.php, vous devrez ajouter le code ci-dessus en haut de cette page.

aussi: J'ai alerté le resp retourné du "add-link" et il renvoie une page Web entière, le script php que vous appelez devrait être en dehors de wordpress, de préférence dans un fichier auquel vous accédez directement, de sorte que lorsque le résultat est retourné vous avez seulement la sortie de la fonction que vous écho-ing

S'il vous plaît commentaire si vous avez encore des erreurs

Code // pour modifier dynamiquement table d'éléments; PS: parce que je pense que vous allez oublier cela puisque je fais tout votre code pour vous.
dès maintenant votre page de publication: "http://ksul.kittenpile.com/product.php" renvoie une page Web complète, que vous remarquerez si vous ajoutez la ligne alert(resp); au-dessus de votre fonction jAlert().
Il ne doit pas renvoyer une page Web entière, il ne doit donc pas être imprimé sur le navigateur de la même manière que vos autres pages! Seul le résultat de writeShoppingCart() doit être renvoyé et RIEN D'AUTRE!

+0

Salut merci. Actuellement, il n'y a pas de problème avec le panier. Ce que nous voulons est, mise à jour automatique sur le contenu du panier après l'ajout du produit dans le panier. – user1737982

+0

okay alors, mais si vous lisez ma réponse entièrement, vous remarquerez que j'ai souligné que votre page de publication renvoie une page Web entière, il devrait seulement retourner le contenu de writeShoppingCart(), après avoir ajouté le code que j'ai ajouté à mon répondre – pythonian29033

Questions connexes