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

    modificare prodotti carrello

    Sto realizzando un carrello.
    Per ora riesco solo ad inserire i vari prodotti all'interno del carrello
    ed è gia tanto

    quando inserisco un prodotto nel carrello x memorizzarlo faccio nel seguente modo

    Codice PHP:
    session_start();
    $_SESSION['carrello'][] = $_POST['descrizione'];
    $_SESSION['quantity'][] = $_POST['quantita'];
    $_SESSION['costo'][] = $_POST['prezzo'];
    header("Location: carrello.php"); 
    Memorizzo nel carrello la descrizione del prodotto,la quantità e il prezzo.

    supponiamo che nel mio carrello ho messo (scrivania q.tà 1 prezzo 10e)
    se ritorno alla pagina dei prodotti e voglio aggiungere un'altra scrivania
    non faccio altro che riclikkare su aggiungi prodotto nel carrello.
    Il problema è che quando vado a vedere nel carrello ho 2 volte scritto

    (scrivania q.tà 1 prezzo 10e)
    (scrivania q.tà 1 prezzo 10e)

    invece di avere

    (scrivania q.tà 2 prezzo 20e)

    come posso fare se aggiungo uno stesso prodotto,invece di aggiungerlo
    lo aggiorna?

  2. #2
    Come inserimento di un prodotto o aggiunta di 1 quantità di uno stesso prodotto ho fatto in questo modo :

    Codice PHP:
    <?php 
    session_start
    ();
    if (
    array_key_exists($_POST['codice'],$_SESSION['carrello']))
    {
    $_SESSION['carrello'][$_POST['codice']]['quantita']++;
    }
    else
    {
       
    $_SESSION['carrello'][$_POST['codice']] = array('codice'=>$_POST['codice'],'descrizione'=>$_POST['descrizione'], 'prezzo'=>$_POST['prezzo'], 'quantita'=>$_POST['quantita']);
    }
    session_write_close();
    header("Location: prodotto_2.php");
    ?>
    nella pagina di visualizzazione :

    Codice PHP:
    <form id="form1" name="form1" method="post" action="aggiorna_carrello_2.php"> 
    <?php   
    foreach ($_SESSION['carrello'] as $key) {
    $qua_agg=$key['quantita'];
        echo 
    'Cod.Prodotto: '$key['codice'].'  ' .'nome: '.$key['descrizione'].''.'quantità: '."<input name=\"quantita\" type=\"text\" id=\"quantita\" value=\"$qua_agg\" size=\"7\"/>".'' .'prezzo: '.$key['prezzo'].'';
    echo  
    "<input type=\"submit\" name=\"Submit\" value=\"Aggiorna\" />";}
    ?>
    </form>
    in questa pagina ho messo un campo text dove viene visualizzata la quantità.
    Supponiamo che adesso voglio cambiare questa quantità e nel campo scrivo 4 premo il
    pulsante e passo alla paginaaggiorna_carrello_2 dove qui sto cercando di fare l'aggiornamento ma senza esito dove sbaglio??

    Pagina Aggiornamento:

    Codice PHP:
    <?php 
    session_start
    ();
    if(isset(
    $_SESSION['carrello']))
    {
    $_SESSION['carrello']['codice']['quantita']=$_POST['codice'];
    }
    session_write_close();
    (
    "Location: carrello_2.php");
    ?>

  3. #3
    up


  4. #4
    Moderatore di Motori di ricerca e webmarketing L'avatar di rigby76
    Registrato dal
    Oct 2005
    residenza
    Firenze
    Messaggi
    4,913

    Re: modificare prodotti carrello

    Originariamente inviato da cinghialotto35
    quando inserisco un prodotto nel carrello x memorizzarlo faccio nel seguente modo
    Ti conviene strutturare in maniera diversa la sessione:

    $_SESSION['carrello'] conterrà tutti i dati del carrello. Questo sarà un array con indice numerico dei prodotti nel carrello: ad es $_SESSION['carrello'][0] sarà il primo prodotto e così via.

    Scegli tu come gestire i vari prodotti: va bene anche un hash (array con chiavi testuali), con i campi che hai usato tu. Esempio: $_SESSION['carrello'][0]['prodotto'] sarà il nome del primo prodotto.

    Quando devi fare un inserimento, fai un ciclo sull'array $_SESSION['carrello'] per vedere se esiste già un prodotto analogo. Se c'è incrementi di uno la quantità, altrimenti inserisci un nuovo elemento.

    Spero di esserti stato utile!
    estremizzo, banalizzo e polemizzo!

    Hai letto le FAQ sui Motori di Ricerca?

  5. #5
    ma per ora quello che avevo postato va bene
    inserisce il prodotto e aggiunge se il codice gia esiste.
    Il mio problema è se voglio aggiornare la quantità
    in base a quello che scrivo nel campo testo
    Se nel carrello avevo q.tà 1 e nel campo testo scrivo 3
    xchè ho cambiato idea come faccio a fargli assumere
    la nuova quantità??


  6. #6
    Moderatore di Motori di ricerca e webmarketing L'avatar di rigby76
    Registrato dal
    Oct 2005
    residenza
    Firenze
    Messaggi
    4,913
    Ok, la seconda versione che hai postato sembra più o meno come ti avevo consigliato di fare, non me ne ero accorto.

    Innanzi tutto ti conviene fare uan form x ogni invio. Dalla form che invii con l'aggiornamento mi sembra che ci sia solo un campo text di nome 'quantita', col numero da aggiornare. Devi aggiungere un campo hidden col codice del prodotto da modificare, poi l'assegnazione da fare sarà:

    Codice PHP:
    $_SESSION['carrello'][$_POST['codice']]['quantita']=$_POST['quantita']; 
    Ti posso chiedere per cosa stai sviluppando il progetto? Lo fai per esperienza o per un progetto reale?
    estremizzo, banalizzo e polemizzo!

    Hai letto le FAQ sui Motori di Ricerca?

  7. #7
    Moderatore di Motori di ricerca e webmarketing L'avatar di rigby76
    Registrato dal
    Oct 2005
    residenza
    Firenze
    Messaggi
    4,913
    doppio invio
    estremizzo, banalizzo e polemizzo!

    Hai letto le FAQ sui Motori di Ricerca?

  8. #8
    Per esperienza....
    Visto che ho pò di tempo libero....volevo impegnare questo tempo,
    e poi non si sa mai,un giorno potrebbe essermi utile



  9. #9
    In questo modo
    Codice PHP:
    $_SESSION['carrello'][$_POST['codice']]['quantita']=$_POST['quantita']; 
    non fa l'aggiornamento ma aggiunge

    in pratica quando vado a vedere i prodotti nel carrello
    vedo il primo acquisto (codice-descrizione-prezzo)che avevo selezionato con il campo txt
    dove all'interno c'e' il valore quantità
    poi mi mostra un secondo campo testo con il valore quantità che avevo selezionato
    per l'aggiornamento
    In realtà mi dovrebbe aggiornare il campo txt con la nuova quantità




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 © 2024 vBulletin Solutions, Inc. All rights reserved.