Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Domanda di logica

  1. #1

    Domanda di logica

    Da un listino un utente sceglie un determinato numero di oggetti per un ordine, dove mi conviene registrare la sua scelta? Su una tabella nuova creata per ogni singolo ordine? Forse usando tabelle collegate?(ma non so come vanno strutturate) oppure
    Magari qualcuno ha una facile soluzione indolore
    Le mie tabelle attuali sono

    Tabella_Catalogo con ID/Modello/prezzo etc.

    Tabella_Utenti con ID/Nome/Cognome etc.

    Tabella_Ordini con ID/Data/Utente etc.

    Grazie
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

  2. #2

  3. #3
    Come avrai letto c'è una tabella ordini ma non posso memorizzarci dentro per l'ordine numeo 1 mettiamo 450 articoli mi sembra esagerato
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

  4. #4
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Di solito si usa una tabella OrdiniTestate e una tabella OrdiniRighe...

  5. #5
    Devi creare due tabelle :

    Ordini

    e OrdiniDettagli

    Nell'ordine salvi i dati dell'ordine e in dettagli le varie voci (articoli) che l'utente ha scelto mettendo un campo dove vai a salvare l'id dell'ordine (tipo IdOrdine) ricavato subito dopo il salvataggio dell'ordine (quindi salvi prima la prima tabella e poi fai elaborare la seconda). Comunque per fare un carrello ti consiglio una tabella carello dove salvi gli oggetti scelti e l'id sessione dell'utente e poi quando lui fà l'ordine sposti questi oggetti nella tabella ordini dettagli sapendo la sua sessio ( o puoi usare anche il campo username ma la session è una variabile che iis carica perchè sprecare memoria per altre variabili? :master: )

    Spero di esserti stato d'aiuto

  6. #6
    Grazie MrNik ora mi ci metto sotto e vedo di farci qualcosa di utile
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

  7. #7
    Originariamente inviato da bazzo
    Sto provando a capire:

    all'atto dell'ordine io faccio compilare i campi di una tabella, ma quasta tabella come deve essere strutturata? Sto provando a guardare gli esempi on line (io ho un db access per ora) e vedo che vi sono molte relazioni tra tabelle ma ancora (sarà perchè è domenica) non ne sto venendo a capo.

    Magari se riuscite a spiegarmi semplicemente cosa mi serve fare...poi mi cerco di arrangiare

    Grazie
    Allora mettiamo il caso hai 4 tabelle :

    [TabArticoli]
    Id
    IdArticolo
    Prezzo
    Descrizione
    Marca


    [TabCarrello]
    Id
    IdArticolo
    IdUtente
    Quantità


    [TabOrdini]
    Id
    IdOrdine
    Data
    IdUtente

    [TabOrdiniDettagli]
    Id
    IdOrdine
    IdArticolo
    Prezzo

    [TabUtenti]
    Id
    User
    Descrizione


    Quando l'utente inerisce un prodotto nel carrello tu passi l'id dell'articolo e salvi nella tabella carrello L'IdArticolo la quantità (uguale a 1) e poi l'IdUtente (che può essere session.SessionId oppure una session "User" o direttamente passare tramite querystring il nomeutente).

    Nel momento in cui lui mette un altro prodotto nel carrello controlli se quel prodotto relativo a quell'utente (tramite querystring) esiste già.. se esiste sommi la quantità che trovi nella tabella + 1 e la risalvi nella riga corrente.

    Dopodichè quando un utente preme su un tasto nel carrello (ad esempio preme su ordina) lui non farà altro che salvare nella tabella ordini l'id Utente(qui dovrai ricavartelo dalla tabella utenti, se non passi nessun valore o non esiste una sessione dedicata all'utente dovrai rimandarlo a una pagina di login prima) e la data e salvi questo record. Dopodichè con una query richiami l'ultimo record nella tabella ordini relativo all'utente e salvi il campo "id" in una variabile.

    Prendi la tabella carrello filtrata per l'utente (session.sessionid o user) e passi irecord alla tabella ordinidettagli salvando anche la variabile dove tieni l'id dell'ordine e svuoti la tabella carrello filtrata per quell'utente.

    Spero di essere stato chiaro poi per il resto un pò di iniziativa su

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    La tabella "ordini" è definitiva: in essi memorizzi i dettagli dell'ordine effettivamente effettuato.
    A te serve anche una tabella temporanea nella quale memorizzare per ogni utente e quindi per ogni ordine i dettagli degli articoli messi nel carrello.
    id_prodotto
    id_cliente
    quantita

    sono i dati minimi da memorizzare

    Roby

  9. #9
    Grazie a tutti ora è molto più chiaro e devo dire anche logicissimo, meglio dormirci su e ricominciare domani mattina sono ormai dieci giorni che lavoro 12/13 ore ed ho il cervello in pappa....



    Grazie ancora
    Two Beer or not Two Beer
    that is the question

    W. ShakesBEER

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.