Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Carrello elettronico Ajax

    Ho un problemino con uno script Ajax. Nel dettaglio questo script dovrebbe permettere di aggiungere e rimuovere dal carrello dei prodotti (di conseguenza aggiungerli o rimuoverli dal DB).
    Per quanto riguarda l'aggiunta di un prodotto funziona tutto tranquillamente, ma ho dei problemi nel rimuoverli dal DB.
    Nello specifico quando vado a cancellare un elemento dal carrello, questo viene eliminato si dal carrello stesso, ma non dal DB nonostante le istruzioni di codice in PHP mi sembrano scritte bene. Difatti mi viene dato un messaggio di errore nel momento in cui tenta di rimuoverli.

    Le funzioni che fanno riferimento alla rimozione sono le seguenti:

    Codice PHP:


    function removeProductFromBasket(productId)
    {
        var 
    productRow document.getElementById('shopping_cart_items_product' productId);
        
        var 
    numberOfItemCell productRow.cells[0];
        if(
    numberOfItemCell.innerHTML == '1'){
            
    productRow.parentNode.removeChild(productRow);    
        }else{
            
    numberOfItemCell.innerHTML numberOfItemCell.innerHTML/1;
        }
        
    updateTotalPrice();
        
    ajaxRemoveProduct(productId);    
    }


    function 
    ajaxRemoveProduct(productId)
    {
        var 
    ajaxIndex ajaxObjects.length;
        
    ajaxObjects[ajaxIndex] = new sack();
        
    ajaxObjects[ajaxIndex].requestFile url_removeProductFromBasket;    // Saving product in this file
        
    ajaxObjects[ajaxIndex].setVar('productIdToRemove',productId);
        
    ajaxObjects[ajaxIndex].onCompletion = function(){ ajaxValidateRemovedProduct(ajaxIndex); };    // Specify function that will be executed after file has been found
        
    ajaxObjects[ajaxIndex].runAJAX();        // Execute AJAX function        
    }


    function 
    ajaxValidateRemovedProduct(ajaxIndex)
    {
        if(
    ajaxObjects[ajaxIndex].response!='OK')alert('Errore mentre si tenta di rimuovere il prodotto dal Database');
        

    L'alert che mi viene visualizzato è proprio quello visualizzabile nella precedente funzione.

    Il codice in PHP che viene chiamato dalla funzione ajaxRemoveProduct, specificato nella variabile url_removeProductFromBasket, è remove.php, che si occupa per l'appunto della cancellazione effettiva dal DB che elenco di seguito.

    Codice PHP:

    if(!isset($_POST['productIdToRemove']))die("Not OK");

                    
    // SELEZIONE DELL'ID RELATIVO ALL'UTENTE CHE STA EFFETTUANDO LA TRANSAZIONE
        
        
    $query "SELECT `id`
                                FROM user 
                                   WHERE user.username='
    $user_nome'" ;
        
                       
    $result mysql_query($query);                   
                     while(
    $row_U mysql_fetch_assoc($result)) {
                     print
    "
    "
    ;
                     print
    "ID: $row_U[id]
    "
    ;
                     
    $userid=$row_U[id];
                     }
                     
                     if (!
    $result) {
                        echo 
    mysql_error();
                        exit;
                        }
        
                        
        
        
    // CANCELLAZIONE DELLA RIGA RELATIVA AL PRODOTTO DA ELIMINARE
                        
                    
    $res "DELETE 
                                    FROM `shopping_cart`
                                    WHERE id_product = '
    {$_POST['productIdToRemove']}' AND id_user='$userid' LIMIT 1";
                    
                    
    $ris mysql_query($res) or die("Errore");    
               
                    
                    echo 
    "OK"
    Credo che qualcosa non vada nelle query, dal momento che eliminandole e lasciando solamente le due righe di codice sotto elencate (che non eseguono alcuna operazione sul DB), il messaggio di errore specificato nella funzione ajaxValidateRemovedProduct(ajaxIndex) non mi viene ritornato.

    Codice PHP:
    if(!isset($_POST['productIdToRemove']))die("Not OK");    

    // Quì dovrei aggiungere le mie query per le operazioni sul DB.

    echo "OK"

    Potete gentilmente aiutarmi a risolvere questo problema?
    Grazie mille in anticipo.
    moscacieca

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Oltre ad essere cross-post http://forum.html.it/forum/showthrea...readid=1313137 (vietato dal regolamento) quale soluzione pensi d'ottenere sul forum javascript visto che il problema è al 99% lato server?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Hai la possibilità di spostarlo?
    Dimenticavo, più che a controllare in maniera erronea il posizionamento dei post (se leggi bene non c'entra assolutamente niente con la vecchia problematica), perchè non ti sforzi a collaborare a dare una soluzione valida, compito per il quale ti trovi quì?
    moscacieca

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.