Pagina 1 di 11 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 103
  1. #1

    [carrello in php si può?]

    Ciao ragazzi, volevo sapere se era possibile creare un carrello con php...e se è funzionale.

    Mi consigliate di meglio?

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Certo che si può ed è funzionalissimo

  3. #3
    Questa è una grande notizia...già mi ero messo con un manuale di Javascript davanti(cmq l'ho trovato interessante e neanche tanto difficile).

    Io avevo già in mente un algoritmo per il funzionamento del carrello con php è solo che nel forum tutti usano javascript. Ad esempio(non so come l'hai realizzato tu) ma io pensavo di poggiare su un database in cui riportavo nelle varie caselle di una tabella l'utente, il/i prodotto/i scelti, il prezzo complessivo e varie altre informazioni avendo così tutte le informazioni sempre a portata di mano...
    Dici che questo sistema è poco efficiente?
    Tu come l'hai realizzato?
    Grazie ciao.

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Non serve un database, puoi memorizzare i dati in sessione

  5. #5
    Il fatto è che ho un casino di sessioni. E poi se hai da conservare anche delle immagini come fai?

  6. #6
    Ciao Luca, se puoi dovresti spiegarmi bene l'uso delle sessioni in un carrello.

    Io sto realizzando un piccolo algoritmo.

    ho dei link:

    link n.1 = aggiungi questo prodotto al carrello -> apre la sessione prodotti(se non esiste la crea) e inserisce il nome del prodotto e il prezzo.
    Ad esempio
    codice:
    
    
    Codice PHP:
    session_start(); $_SESSION['prodotti'][]= prosciutto; $_SESSION['prezzo'][]= 50 Euro
    link n.2 = visualizza carrello -> apre una pagina php che ha all'interno ha un for che scorre gli array di sessione creati su, del tipo

    codice:
    
    
    Codice PHP:
    session_start(); echo "Prodotti nel carrello"; for(i=0;i<lenght($_SESSION['prodotti'][]);i++){ echo "$_SESSION['prodotti'][i], $_SESSION['prezzo'][i]"; } 
    link n.3 = cancella contenuto del carrello -> cancello l'array di sessione prodotti e prezzo.

    codice:
    
    
    Codice PHP:
    session_start(); $_SESSION['prodotti'] = array(); $_SESSION['prezzo'] = array(); 
    Che ne dici può funzionare così???

    Spero tanto mi risponda a questa domanda...questioni di lavoro!!!

    Grazie ciao.

  7. #7
    Secondo me c'è un po' di confuzione.
    Partiamo dall'uso delle sessioni.
    La tecnica che vede le "sessioni utilizzate come db" va benissimo. Solo io migliorerei l'array. Non devi fare niente di che: solo scrivere l'array in questo modo:

    $_SESSION['prodotti'][]['prezzo']
    $_SESSION['prodotti'][]['id']
    $_SESSION['prodotti'][]['nome']
    ecc.

    In questo modo l'indice ti funziona come un id univoco ed avrai molte meno difficoltà a gestire il resto dei processi

    (Per esempio quando dovrai aggiornare le quantità di prodotti).

    Invece dell'indice autoincrementato, poi, potresti utilizzare l'id del prodotto (e questo ti renderebbe le cose ancora più facili!).

    Per il db secondo me hai fatto un po' di confusione dovuta soprattutto all'inesperienza sul campo.E' solo un'ipotesi.
    Se posti il codice del db vediamo se ho ragione e se è così ti aiuteremo a migliorare lo schema del db. Un db normalizzato e ben strutturato è importantissimo ai fini della velocità e dell'usufruibilità.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  8. #8
    No ho deciso definitivamente di usare le sessioni, senza database.

    Allora facciamo il punto:


    nel modo in cui mi hai indicato tu,

    $_SESSION['prodotti'][]['prezzo']
    $_SESSION['prodotti'][]['id']
    $_SESSION['prodotti'][]['nome']

    in realtà userei un solo array di sessione. Giusto?

    Ora, se io voglio scorrere il contenuto dell'array come faccio?Così?
    codice:
    
    
    Codice PHP:
    for(i=0;lenght($_SESSION['prodotti'][]);i++) echo "$_SESSION['prodotti'][i]['prezzo'],$_SESSION['prodotti'][i]['id'], $_SESSION['prodotti'][i]['nome']"
    Scusami ma mi sa che il mio problema è teorico, quest'array che tu mi hai riportato ha tre dimensioni giusto?
    Quindi
    prodotti -> 1 -> 1 prezzo
    prodotti -> 1 -> 2 id
    prodotti -> 1 -> 3 nome

    prodotti -> 2 -> 1 prezzo
    prodotti -> 2 -> 2 id
    prodotti -> 2 -> 3 nome

    prodotti -> .. -> 1 prezzo
    prodotti -> .. -> 2 id
    prodotti -> .. -> 3 nome

    prodotti -> i -> 1 prezzo
    prodotti -> i -> 2 id
    prodotti -> i -> 3 nome


    Giusto?

  9. #9
    Si, quasi perfetto.
    Allora fai in questo modo: decidiamo, per prima cosa, che invece dell'indice autoincrementato utilizziamo l'id del prodotto (ci renderà molte operazioni successive più semplici).

    L'array, quindi, sarà di questo tipo

    Codice PHP:
    $_SESSION['cart'][1234]['nome'] = 'prosciutto' ;
    $_SESSION['cart'][1234]['prezzo'] = '34.98' ;
    $_SESSION['cart'][1234]['quantita'] = ;

    $_SESSION['cart'][1234]['nome'] = 'salame' ;
    $_SESSION['cart'][1234]['prezzo'] = '10.00' ;
    $_SESSION['cart'][1234]['quantita'] = ;

    $_SESSION['cart'][1234]['nome'] = 'pancetta' ;
    $_SESSION['cart'][1234]['prezzo'] = '20.00' ;
    $_SESSION['cart'][1234]['quantita'] = 
    Abbiamo il nostro bell'array.

    A questo punto un po' di teoria.
    Per scorrere un array non va bene usare il for (cioè va bene nel senso che funziona ma non è il modo corretto di operare). Bisogna usare il foreach

    http://fr.php.net/manual/it/control-...es.foreach.php

    Per scorrere l'array, quindi, scriverai un codice come questo:

    Codice PHP:
    foreach ( $_SESSION['cart'] as $key )
           {
              
    // Ho ottenuto l'id dell'array e, quindi,
              // l'id del prodotto
              
    echo 'Nome: ' $_SESSION['cart'][$key']['nome'] . '
    '
                 . '
    Prezzo' . $_SESSION['cart'][$key']['prezzo'] . '
    '
                 
    'Quantità: ' $_SESSION['cart'][$key']['quantita'] . '
    '
                 . '
    ID' $key . '
    ' ;
           } 
    Ed ecco la lista delle proprietà del prodotto inserito nel carrello.

    NOTA
    Invece di usare echo successivi ho usato il punto come potrai notare.
    Questo perchè ogni echo comporta un dialogo tra server e client (per mandare i pacchetti di dati ed instaurazine della relativa connessione, ecc.) che si traduce in un allungamento dei tempi di attesa (in questo caso minimi ma su grandi applicazioni anche di due o tre o addirittura quattro secondi).

    Il punto "." invece permettere di concatenare una stringa e di utilizzare, quindi, un'unica echo.
    Ancora, non ho usato i "" ma ho usato il . perchè quando si usano i doppi apici il php vi cerca all'interno delle vars e questo comporta sempre un aumento dei tempi. Usando l'apice singolo, il concatenamento con il . e un'unica echo, invece, abbiamo abbattutto molto i tempi di attesa.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  10. #10
    Mi è quasi tutto chiaro, tranne qualche piccolo dettaglio.

    intanto grazie della spiegazione del concatenamento con l'operatore punto. C'è da aggiungere che non sono praticol nell'uso del punto. Cmq proverò, sembra ne valga la pena.

    Ora io mi domandavo

    Codice PHP:
     
    foreach ( $_SESSION['cart'] as $key 
           { 
              
    // Ho ottenuto l'id dell'array e, quindi, 
              // l'id del prodotto 
              
    echo 'Nome: ' $_SESSION['cart'][$key']['nome'] . '

                 . '
    Prezzo' . $_SESSION['cart'][$key']['prezzo'] . '

                 
    'Quantità: ' $_SESSION['cart'][$key']['quantita'] . '

                 . '
    ID' $key . '
    ' ; 
           } 
    quando faccio echo ' bla bla' posso inserire un intero codice html?
    La questione è questa: devo creare, dopo aver pescato i dati dalla sessione, una pagina html con misure personalizzate e che contiene, oltre all'elenco dei prodotti, anche del codice javascript con determinate funzioni. E' possibile? O troppo complesso?

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.