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

    [MySQL] Gestire ordini ecommerce con utenti non iscritti

    ciao!

    su un ecommerce mi hanno chiesto di modificare il checkout per fare in modo che l'utente possa fare ordini anche senza iscrizione.

    dal punto di vista "client" ci sono, ma devo fare una modifica su db e non so come gestirla.
    in pratica tramite ajax, passo allo script php anche l'utente id.
    e inserisco l'ordine:
    codice:
    $ordineId = $ordini->add($utente, $import, $stato, $couponCode, $couponSconto, $ip, $note, $modoPag);
    il problema è che se l'utente non è iscritto, l'id non ce l'ho.
    ma la tabella ordini ha una foreign key sugli utenti.
    secondo voi com'è meglio gestire questa modifica?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,179
    Una soluzione "svelta" è avere un utente "dedicato" (che non può loggarsi) nella tabella degli utenti.
    Quando ti arriva la richiesta di inserire un ordine senza avere un id utente associato, associ in modo forzato l'ordine all'id dell'utente dedicato.
    Così hai anche modo di vedere, un domani, quanti ordini sono arrivati da parte di utenti non loggati, facendo riferimento agli ordini dell'utente dedicato.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    Una soluzione "svelta" è avere un utente "dedicato" (che non può loggarsi) nella tabella degli utenti.
    Quando ti arriva la richiesta di inserire un ordine senza avere un id utente associato, associ in modo forzato l'ordine all'id dell'utente dedicato.
    Così hai anche modo di vedere, un domani, quanti ordini sono arrivati da parte di utenti non loggati, facendo riferimento agli ordini dell'utente dedicato.


    Ciao.
    in effetti non ci ho pensato.
    poi nella gestione ordini li visualizzo per indirizzo impostato e dovrei stare a posto.
    mi metto a lavoro e ti dico!

  4. #4
    perfetto, sembra funzionare.

    grazie per la dritta!

  5. #5
    e se due utenti non loggati fanno un ordine nello stesso momento?

  6. #6
    Quote Originariamente inviata da optime Visualizza il messaggio
    e se due utenti non loggati fanno un ordine nello stesso momento?
    sono cmq costretti a impostare un indirizzo di spedizione diverso.
    li differenzio per quello!

    si accettano consigli ovviamente!

  7. #7
    quindi fai due carrelli intestati allo stesso cliente, ma con due indirizzi diversi?

  8. #8
    Quote Originariamente inviata da optime Visualizza il messaggio
    quindi fai due carrelli intestati allo stesso cliente, ma con due indirizzi diversi?
    il carrello è fatto usando simplecart.js.
    quindi è tutto lato client (così fu fatto e così è rimasto).
    solo dopo il pagamento viene creato l'ordine e inviato.

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,179
    Quote Originariamente inviata da optime Visualizza il messaggio
    quindi fai due carrelli intestati allo stesso cliente, ma con due indirizzi diversi?
    Non vedo il problema.
    Nell'azienda per cui lavoro è sempre stato così: un utente può avere più indirizzi di consegna; normale: lo fa anche Amazon. Amazon gestisce un solo carrello per utente; noi ne gestiamo potenzialmente infiniti: l'utente può costruirsi tutti i carrelli che vuole e decidere quando (e dove) inviare ciascun carrello.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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