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

Discussione: Flaggare i checkbox

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764

    Flaggare i checkbox

    Ho una tabella (colori) contenente un elenco di colori (bianco, nero, rosso, giallo) con relativi id (1, 2, 3, 4)
    Nella tabella (prodotti), nel campo colore, c'è una sequenza di numeri (separati da virgola), che corrispondono agli id dei colori della prima tabella. Per esempio, se il prodotto 1 della tabella prodotti, ha il bianco, il nero ed il giallo, nel campo colore di questa tabella, per questo prodotto, ci sarà: 1, 2, 4.

    Il campo colore della tabella prodotti viene compilato tramite checkbox.

    Ho bisogno di mostrare una pagina dove si vede il nome del prodotto ed altre informazioni prese dalla tabella prodotti ed una griglia con tutti colori presenti nella tabella colori, con i checkbox flaggati quando il prodotto della tabella colori è presente nel campo colore della tabella prodotti.

    Il mio problema è che non riesco a mostrare flaggati i checkbox.
    Dovrei scorrere gli id della tabella colori e confrontarli con i singoli valori presenti all'interno del campo colore della tabella prodotto e quando c'è corrispondenza, per quel prodotto, mettere il checkbox "checked".

    Codice PHP:
    cat TRIM(Request("cat"))
    articolo TRIM(Request("id"))

    sql "SELECT * FROM categoria_tessuti_cristall WHERE nome_tabella='" cat "'"
    SET RS1 Conn.Execute(sql)
    tabella RS1("nome_tabella")
    sqlString "SELECT * FROM " tabella " WHERE id=" articolo
    SET RS 
    Conn.Execute(sqlString)
    mieicolori RS("colore")
    Response.Write mieicolori 
    'Questo è il mio codice col quale scorro (e stampo a video) i colori.
    Codice PHP:
     sqlcolore "SELECT * FROM colore WHERE attiva=1"
    SET RS1 Conn.Execute(sqlcolore)
    If 
    Not RS1.EOF Then
    Do While Not RS1.EOF
    tutticolori 
    RS1("id") & ", "
    Response.Write tutticolori    
    RS1
    .MoveNext
    Loop
    End 
    If 
    Qualche idea?

    Grazie.

  2. #2
    non ho capito molto ma all'interno del ciclo colori devi fare una query per vedere se il valore è già presente oppure no

    se il record esiste vuol dire che è presenti diveramente no

  3. #3

    Re: Flaggare i checkbox

    Originariamente inviato da Roby140569
    ...
    Dovrei scorrere gli id della tabella colori e confrontarli con i singoli valori presenti all'interno del campo colore della tabella prodotto e quando c'è corrispondenza, per quel prodotto, mettere il checkbox "checked".
    ...
    bhè fallo O.o
    nel codice che hai postato non lo fai

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Grazie per le risposte.

    Grambo, sono un po' incartato proprio in quello!

    Mi aspetto che questo codice mi scriva "prova", tutte le volte che trova una corrispondenza, ma non mi stampa niente (quindi non trova corrispondenza).
    Ho sbagliato il ciclo... ma non so dove!

    Codice PHP:
    mieicolori_a split(mieicolori",")
    For 
    i=LBound(mieicolori_ato UBound(mieicolori_a)
    sqlcolore "SELECT * FROM colore WHERE attiva=1"
    SET RS1 Conn.Execute(sqlcolore)
    If 
    Not RS1.EOF Then
    Do While Not RS1.EOF
    If mieicolori_a(i) = RS1("id"Then Response.Write "prova
    End If
    RS1.MoveNext
    Loop
    End 
    If
    Next 
    Grazie!

  5. #5
    Originariamente inviato da Roby140569
    codice:
    mieicolori_a = split(mieicolori, ",")
    For i=LBound(mieicolori_a) to UBound(mieicolori_a)
    sqlcolore = "SELECT * FROM colore WHERE attiva=1"
    SET RS1 = Conn.Execute(sqlcolore)
    If Not RS1.EOF Then
    Do While Not RS1.EOF
    If mieicolori_a(i) = RS1("id") Then Response.Write "prova
    " End If
    RS1.MoveNext
    Loop
    End If
    Next
    Vediamo che fa sto codice..
    1. lo split devi farlo con lo spazio
    mieicolori_a = split(mieicolori, ", ")
    2. la query non ha senso
    sqlcolore = "SELECT * FROM colore WHERE id_colore="&cint(trim(mieicolori_a[i]))&" AND attiva=1"

    quindi viene

    codice:
    mieicolori_a = split(mieicolori, ", ")
    For i=LBound(mieicolori_a) to UBound(mieicolori_a)
    sqlcolore = "SELECT * FROM colore WHERE id_colore="&cint(trim(mieicolori_a[i]))&" AND attiva=1"
    SET RS1 = Conn.Execute(sqlcolore)
    Do While Not RS1.EOF
    Response.Write "prova
    " 
    RS1.MoveNext
    Loop
    Next
    prova

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Grazie!
    Ho fatto una prova e sembra funzionare. Ho solo corretto la parentesi quadra, con la tonda.

    Codice PHP:
    mieicolori_a split(mieicolori", ")
    For 
    i=LBound(mieicolori_ato UBound(mieicolori_a)
    sqlcolore "SELECT * FROM colore WHERE id=" cint(trim(mieicolori_a(i))) &" AND attiva=1"
    SET RS1 Conn.Execute(sqlcolore)
    Do While 
    Not RS1.EOF
    Response
    .Write "prova

    RS1.MoveNext
    Loop
    Next 
    Ciao!

  7. #7
    a giusto siamo in asp XD

    comunque, se sei sicuro che gli id esistano puoi nache fare

    codice:
    mieicolori_a = split(mieicolori, ", ")
    For i=LBound(mieicolori_a) to UBound(mieicolori_a)
    sqlcolore = "SELECT * FROM colore WHERE id=" & cint(trim(mieicolori_a(i))) &" AND attiva=1"
    SET RS1 = Conn.Execute(sqlcolore)
    Response.Write "prova
    " 
    next

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    OK, grazie!

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Dopo diversi giorni di altri impegni (e un'influenza), eccomi ancora su questa faccenda.

    Riprendo ciò che ho scritto nel primo post.

    Ho bisogno di mostrare una pagina dove si vede il nome del prodotto ed altre informazioni prese dalla tabella prodotti ed una griglia con tutti colori presenti nella tabella colori, con i checkbox flaggati quando il prodotto della tabella colori è presente nel campo colore della tabella prodotti.

    Il mio problema è che non riesco a mostrare flaggati i checkbox.
    Dovrei scorrere gli id della tabella "colore" e confrontarli con i singoli valori presenti all'interno del campo colore della tabella prodotto e quando c'è corrispondenza, per quel prodotto, mettere il checkbox "checked".

    I valori presenti nel campo colore della tabella prodotto, sono una sequenza di numeri (gli id dei colori), del tipo: 1,2,3.
    Con l'aiuto di Grambo, sono riuscito a splittare questa sequenza. Ovviamente, al posto di "prova" gli faccio scrivere quello che voglio.

    Adesso dovrei elencare tutti gli elementi presenti nella tabella "colore" e, dove l'id della tabella colore corrisponde ad un numero del campo colore della tabella prodotto, mi deve scrive qualcosa (un numero, una parola, qualsiasi cosa).

    Faccio un esempio.

    Nella tabella colori ho i campi (id e colore):
    id | colore
    1 | bianco
    2 | nero
    3 | rosso
    4 | giallo

    Se il prodotto 1 (della tabella prodotti) ha due colori, il bianco ed il rosso (per esempio), nel campo colore, per quel prodotto, c'è scritto, 1,3.

    Nella pagina riferita al prodotto 1, vorrei poter scrivere qualcosa del tipo:
    1 bianco x
    2 nero
    3 rosso x
    4 giallo

    Cioè, vorrei elencare tutti i colori e scrivere qualcosa solo dove c'è corrispondenza.

    Con tutto questo, vorrei arrivare a creare un form con dei checkbox, che saranno spuntati solo dove c'è corrispondenza.

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Qualche idea?

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.