Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Ordinare sessioni

  1. #1
    Utente di HTML.it L'avatar di digitm
    Registrato dal
    May 2002
    Messaggi
    412

    Ordinare sessioni

    Ciao ragazzi, stavo smanettando un pò su uno script per lagestione dei prodotti di un carrello elettronico. Ad ogni ordine, viene crata una sessione:

    Session(ordine1) = "20|8|15"

    dove con lo split ricavo i seguenti valori:
    20 l'id_prodotto, 8 id_azienda produttrice, 15 il prezzo

    Nel caso in cui io abbia altri 2 ordini:
    Session(ordine2) = "21|6|18"
    Session(ordine3) = "22|8|21"

    c'è una soluzione per fare in modo che nel riepilogo vengano ordinati per azienda produttrice?

    Quaindi in questo caso Session("ordine2) con id_azienda 6, e poi le altre due session con id_azienda 8???????

    Grazie

  2. #2
    sì, ma c'è da sudare

    1. già all'atto dell'inserimento le metti in ordine
    oppure
    2. splitti in un array multidimensionale, riordini (con un bubble sort o con un qualunque altro metodo), rileggi l'array e rimetti nelle sessioni
    oppure
    3. splitti in un recordset disconnesso, riordini (col metodo .sort), rileggi il recordset e rimetti nelle sessioni

  3. #3
    Utente di HTML.it L'avatar di digitm
    Registrato dal
    May 2002
    Messaggi
    412
    Intanto grazie per la risposta... Certo, tue parole mi hanno un pò demoralizzato... Magari con il tuo aiuto potrei provarci...

    1. già all'atto dell'inserimento le metti in ordine
    come posso metterle in ordine? L'utente può selezionare prima il prodotto dell'azienda B, poi quello della Z e poi quello dell'azienda A... Inoltre potremmo avere anche aziende scelte più volte:

    1 scelta: azienda B
    2 scelta: azienda Z
    3 scelta: azienda A
    4 scelta: azienda B

    Risulatato:
    azienda A
    azienda B
    azienda B
    azienda Z

    Come le ordino????????????

  4. #4
    tu sai già quante sessioni hai, giusto? quindi le scorri e le scarichi in un'altra serie di sessioni. se l'ordine ha la società < di quella nella sessione, scarichi l'ordine nuovo e poi continui col resto. poi rimetti tutto nelle sessioni originarie. te l'avevo detto che c'era da sudare

  5. #5
    l'alternativa è NON usare le sessioni, ma una tabella temporanea del db. io farei cosi

  6. #6
    Utente di HTML.it L'avatar di digitm
    Registrato dal
    May 2002
    Messaggi
    412
    Originariamente inviato da optime
    l'alternativa è NON usare le sessioni, ma una tabella temporanea del db. io farei cosi
    mi hai convinto...

    allora creo la tabella ORDINE_TEMP

    campi:
    ID -> contatore
    ID_PRODOTTO
    ID_AZIENDA
    NOME_PRODOTTO
    PREZZO
    QUANTITA

    Immagino che dovrei dare un'identificativo all'utente... Quindi creare un campo
    ID_UTENTE

    dove magari creo una bella pass random di 8 caratteri. Stessa pass che imposto come variabile di sessione per fare in modo che l'utente venga riconosciuto ogni volta che inserisce articoli...

    Giusto? E poi?

  7. #7
    e poi, tutto quello che prima facevi con le session adesso lo fai col recordset

  8. #8
    Utente di HTML.it L'avatar di digitm
    Registrato dal
    May 2002
    Messaggi
    412
    ok, e per quanto tempo "tengo in vita" l'ordinenel caso in cui la persona si connetta oggi, poi non completi il tutto... si connetta domani e completi l'odine...

    Immaginiamo che l'utente con pass random 12345678 si colleghi oggi ed inserisca nel carrello gli articoli A e B devo fare in modo di avvertirlo che potrà completare l'ordine in to giorni impostando una scadenza nella sessione...

    Ma se ho dato un tempo max di TOT e siamo al giorno TOT + 1, come faccio a far cancellare dal DB gli articoli con ID UTENTE 12345678????

  9. #9
    aggiungiamo una data all'ordine?

  10. #10
    Utente di HTML.it L'avatar di digitm
    Registrato dal
    May 2002
    Messaggi
    412
    domanda stupida, risposta ovvia... farei così...

    Aggiungerei 2 campi:
    DATA
    ORDINE CONFERMATO

    In data viene inserita quella del primo acquisto (dalla quale verranno contati i giorni di scadenza della sessione...)

    In ORDINE CONFERMATO (con valore si/no) metterò lo status dell'ordine...
    quindi

    durata sessione: 5 gg
    data iniziale: giorno 1

    Giorno 4: completa l'ordine cliccando sull'apposito tasto. Automaticamente popoliamo il campo ORDINE CONFERMATO in SI

    Giorno 6: (quindi giorno dopo la scadenza)

    select ORDINE_TEMP where ORDINE CONFERMATO <>'si'

    faccio un ciclo in cui dico:
    cancellami tutti quelli in cui DATA ODIERNA - rs("data")>5

    Ijn modo tale che terrò memorizzati solo gli ordini inviati...


    E' corretto così o è troppo arcaico????

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.