Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464

    select e cancellazione di piu record

    Scusate ragazzi ma non riesco ad andare avanti. Ho una domanda facile facile (per voi)
    Faccio questa select per recuperare dal carrello i campi contenenti 'campoPromo' (però solo il primo)

    codice HTML:
                SQLOrdine = " SELECT * FROM Carrello WHERE IDSessione = '"& SessionID &"' AND campopromo <> '0' "
                Set RSOrdine = Conn.Execute(SQLOrdine)
    
                If Not RSOrdine.EOF Then
                
                InputCod = RSOrdine("da_scontare")
                campoPromo = RSOrdine("CampoPromo")
    
                Else
    
                InputCod = 0
                campoPromo = 0
    
                END IF        
    poi recupero altre informazioni associate a quel codice promo

    codice HTML:
    SqlPromo ="SELECT * FROM promo WHERE" 
    SqlPromo = SqlPromo &"   valore = '"& campoPromo &"' "
    set rs = Conn.Execute(sqlPromo)
    Do while not rs.Eof
    
    valoreSconto = rs("valore")
    
    rs.MoveNext
    Loop
    
    else 
    ....
    end if
    e poi alla fine con questo codice vado a cancellare il 'campoPromo' da un'altra tabella.


    codice HTML:
    SQLCanc = "DELETE FROM promo WHERE valore = '"& ValoreSconto &"'"
    set rs = Conn.Execute (SqlCanc)
    Il problema è che mi cancella solo il primo record che incontra. Come faccio a farne cancellarne 2 o piu se sono piu di 1 ?
    Il problema credo dipende dalla prima select che faccio al carrello perche è li che dovrei prendere tutti i codici diversi che trova... giusto?


    Grazie mille in ancipo
    Ultima modifica di Partisan75; 13-01-2016 a 17:34

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    spero di aver capito le tue esigenze...

    devi raccogliere tutti i campi "promo" dal form in un'unico request. poi usi la condizione IN per l'interrogazione, e un ciclo per estrarre/lavorare i dati
    codice:
    <input name="promo" value="1" >
    <input name="promo" value="2" >
    
    valori = request("promo")
    
    SQLOrdine = " SELECT * FROM Carrello WHERE IDSessione = '"& SessionID &"' AND campopromo IN ('"&valori&"') "
    ovviamente devi scorrere il recordset per fare le operazioni successive

    i valori di "promo" sono numerici o testo?

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    grazie per la risposta. i codici sono alfanumerici.


    mi sa che non posso raccogliere tutti i campi "promo" dal form in un'unico request per 2 motivi:

    1) c'è un solo campo dove inserire il codice il quale va a modificare un valore (prezzo) nel db ed inserisce il codice utilizzato...
    questo campo però puo essere riutilizzato per un altro codice ovviamente interessando solo altri prodotti inseriti nel db non scontati con il primo codice inserito

    2) tra questo form, ed il file in questione passa un'altra pagina...

    Ricapitolando:
    PAgina carrello:
    - Possono inserire il codice sconto che può interessare anche solo alcuni prodotti.
    - Possono inserire eventualmente un altro codice che riguarda solo altri prodotti.
    Per ogni operazione di questa il codcie viene salvato nella tabella carrello e solo alla fine poi devo recuperare questi codici per cancellarli dalla tebella Promo...

    spero di essere stato chiaro

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    stando a quanto dici...
    e poi alla fine con questo codice vado a cancellare il 'campoPromo' da un'altra tabella
    ...
    Il problema è che mi cancella solo il primo record che incontra
    la questione sembra procedurale.

    dovresti cancellare i record interessati durante il ciclo, o meglio, accumulare le variabili e poi usarle per cancellare.
    (se lo fai durante il ciclo il sistema si può confondere non trovando più il valore estratto in precedenza)

    non so se mi sono spiagato...

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    464
    Si grazie, ti sei spiegato benissimo infatti all'inizio facevo così e funziona bene però volevo dare al cliente la possibilità di aggiungere altri prodotti al carrello ed eventualmente inserire di nuovo lo stesso codice sconto...
    Grazie ancora
    alla prossima

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.