Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Problema con checkbox dinamiche

    Ciao a tutti, ho un problema con le checkbox.
    Attraverso questi campi faccio selezionare all'utente quali sono i suoi interessi,fatto questo li scrivo in un campo del database. Come faccio per selezionare automaticamente le checkbox una volta estratti i dati dal database? [ad esempio quando l'utente entra nel form di modifica profilo]

    Ho provato con questo codice:

    Codice PHP:
    list ($ruolo1$ruolo2$ruolo3,$ruolo4,$ruolo5,$ruolo6) = explode ("-"$Row[ruolo]);
    $ruolo= array ("$ruolo1","$ruolo2","$ruolo3","$ruolo4","$ruolo5","$ruolo6");

    foreach (
    $ruolo as $ruolos) {

    if (
    $ruolos=="A") { echo"<input type=\"checkbox\" name=\"ruolo1\" checked value=A- >A 
    "
    ; } 
    if (
    $ruolos=="B") {  echo" <input type=\"checkbox\" name=\"ruolo2\" checked value=B- >B 
    "
    ; } 
    if (
    $ruolos=="C") {  echo" <input type=\"checkbox\" name=\"ruolo3\" checked value=C- >C
    "
    ; } 
    if (
    $ruolos=="D") {  echo" <input type=\"checkbox\" name=\"ruolo4\" checked value=D->D 
    "
    ; } 
    if (
    $ruolos=="E") {  echo" <input type=\"checkbox\" name=\"ruolo5\" checked value=E- >E 
    "
    ; } 
    if (
    $ruolos=="F") {  echo" <input type=\"checkbox\" name=\"ruolo6\" checked value=F- >F 
    "
    ; } 

    Ma vengono stampati tutti i campi varie volte...

  2. #2

  3. #3
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906
    Io di solito faccio cosi
    setto una variabile $checked="";
    poi facendo i vari if se si verifica la condizione metto che $checked="checked";

  4. #4
    Originariamente inviato da olivs
    Io di solito faccio cosi
    setto una variabile $checked="";
    poi facendo i vari if se si verifica la condizione metto che $checked="checked";
    Sinceramente non capisco la domanda.... e ritengo la tua solo un tentativo di risposta ....

    La chiave di tutto e' in quel $Row[ruolo] (tra l'altro senza apici) di cui non si conosce il contenuto....

    In pratica mette un form che fa una certa cosa e chiede perche' la fa.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Moderatore di Macintosh e software L'avatar di olivs
    Registrato dal
    Jan 2001
    Messaggi
    8,906
    Originariamente inviato da piero.mac
    Sinceramente non capisco la domanda.... e ritengo la tua solo un tentativo di risposta ....
    embe prendere o lasciare

  6. #6
    Originariamente inviato da olivs
    embe prendere o lasciare
    Boh! io cercavo delle fragole ... lo sono?...

    Ho quotato la tua risposta, ma era un appunto a robertes...


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    beh nella variabile $row[ruolo] inserisco tutti i ruoli
    a-b-c-d-e-f e li separo con explode!!
    Fatto questo devo vedere quale ruolo è compreso nella variabile e se è compreso selezionarlo nella checkbox

    esempio:
    nella variabile ruolo sono presenti a,b,d

    nel form con le checkbox:
    a selezionata
    b selezionata
    c non selezionata
    d selezionata
    e non selezionata
    f non selezionata

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Il numero di checkboxes è fisso. E' il numero delle selezioni che è variabile. Quindi per ogni elemento fisso devi vedere se è selezionato o no.

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    <? 
    function isChecked($value,$array) {
     return in_array($value, $array) ? "checked" : "";
    } // function isChecked($value,$array)
    
    $Row['ruolo'] = "A-B-D";
    $myArray = explode ("-", $Row['ruolo']); 
     ?>
     
    <input type="checkbox" name="ruolo1" <? print isChecked('A',$myArray); ?> value=A- >A 
     
    <input type="checkbox" name="ruolo2" <? print isChecked('B',$myArray); ?> value=B- >B 
     
    <input type="checkbox" name="ruolo3" <? print isChecked('C',$myArray); ?> value=C- >C 
     
    <input type="checkbox" name="ruolo4" <? print isChecked('D',$myArray); ?> value=D- >D 
     
    <input type="checkbox" name="ruolo5" <? print isChecked('E',$myArray); ?> value=E- >E 
     
    <input type="checkbox" name="ruolo6" <? print isChecked('F',$myArray); ?> value=F- >F 
     
    </body>
    </html>

  9. #9
    problema risolto grazie!

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.