Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666

    Dilemma campo di controllo in db

    Salve ragazzi, ho un dilemma che probabilmente non si potrà risolvere.

    Ho una serie di pagine ASP che si collegano ad 1 db e riportano i record presenti, questo è il codice della select:

    codice:
    <%
    	Set RecSet = Server.CreateObject("ADODB.Recordset")
    	Visa = "SELECT * FROM Automobili ORDER BY ID DESC"
    	RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
    dopo di questo visualizzo i vari rec.set, ad esempio: campo1 campo2 campo3 campo4.

    Ora vorrei creare un nuovo campo, es. CAMPOCONTROLLO, che mi servirà per selezionare solo i record nei quali questo campo è diverso dagli altri.

    Mi spiego meglio, all'inizio della pagina visualizza tutti i record dove il CAMPOCONTROLLO è vuoto, poi in basso alla pagina visualizza tutti i record dove il CAMPOCONTROLLO è "true" oppure è "1" per esempio.

    Così posso, per esempio, inserire 10 automobili, nel momento in cui si vendono 2 auto, io cambio il valore al CAMPOCONTROLLO, visualizzando in alto le auto ancora disponibili ed in basso quelle vendute.

    Come posso fare? :master:

    Sperando di essere stato abbastanza chiaro, scusatemi se non lo sono stato..
    AltF4

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Inserisci un nuovo campo numerico di tipo byte. Può accogliere valori 0/1.
    Di default vale 0 quando vendi una macchina lo imposti ad 1.
    A quel punto puoi fare le query con 0 (non vendute) o 1 (vendute).

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    Credi possa andare bene così:

    codice:
    <%
    	Set RecSet = Server.CreateObject("ADODB.Recordset")
    	Visa = "SELECT * FROM Automobili WHERE campocontrollo=1 ORDER BY ID DESC"
    	RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
    :master:
    AltF4

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    Ti ringrazio ancora, ma come faccio ad inserire ad es. il valore 1 nel db se la checkbox è cliccata?

    Nel senso che, nella sezione "modifica", ci sono tutti i campi da modificare ed in più c'è questa checkbox che se viene cliccata invia al db il valore 1, ma non so come si fa..
    AltF4

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    pensavo che potrei usare anche 2 radio, dove appena apro la pagina di modifica legge il campo nel db e se il valore è 1 clicca sul primo e viceversa.

    Ma come faccio a collegare le radio con il db in lettura? E poi quando clicco su aggiorna come faccio a modificare il campo nel db?

    mmm.. dilemmi di un poco pratico..
    AltF4

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    La checkbox ha un value? Impostalo ad uno e il gioco è fatto.
    La request del campo checkbox riporterà 1 se checked.

    Roby

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    :master: mmm..

    Ci sono riuscito a metà, quindi non mi funziona come vorrei.

    Mi spiego: nella pagina che modifica i record ho inserito 2 checkbox che indicano se l'auto è stata venduta e bisogna cliccare su si o su no, così:

    codice:
            <%	If RecSet("Venduta") = 1 then 
    			check = " checked" 
    			Else 
    			check = "" 
    			End If
    		%>
    		<input type="checkbox" name="vendutasi" value=1<%=check%>>
            SI 
            <%	If RecSet("Venduta") = 0 then 
    			check = " checked" 
    			Else 
    			check = "" 
    			End If
    		%>
            <input type="checkbox" name="vendutano" value=0<%=check%>>
            NO[/b]</font>
    Facendo in questo modo, se il campo Venduta è già 1 la checkbox "vendutasi" è checked altrimenti è 0.

    Questo mi funziona, nel senso che il sistema mi riporta correttamente il valore iniziale del campo Venduta.

    Ma se devo passare da 1 a 0 ci riesco, ma da 0 a 1 NO! Ho controllato cosa inserisce nel database e non mette nessun valore, lo svuota semplicemente, non mette ne 0 ne 1.

    Per l'inserimento ho usato lo stesso per tutti e due e cioè:

    codice:
    	RecSet("Venduta") = Request.Form("vendutasi")
    	RecSet("Venduta") = Request.Form("vendutano")

    Porc... Mi funziona a metà!

    AltF4

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    AltF4

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    666
    ... :master: mmm... potrei aver risolto..

    Ho inserito al posto dei 2 checkbox, una select con 2 valori SI=1 NO=0 e come valore predefinito sempre 0, così:

    codice:
            <select name="venduta" id="venduta">
              <option value="0" selected>No</option>
              <option value="1">Si</option>
            </select>
    poi, inserisco il valore nel db, così:

    codice:
    	RecSet("Venduta") = Request.Form("venduta")
    E così funziona proprio come volevo io. Vorrei però fare un'ultima cosa, riuscire a far visualizzare il valore iniziale della select in base al valore già presente nel db.

    Come faccio?

    Grazie come sempre..
    AltF4

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.