Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    14

    Checkbox checked form di ricerca

    Salve a tutti, sto cercando di passare la condizione "checked" in questo modo:

    Codice PHP:
    while ($row_comuni mysql_fetch_array($sql_result)) {    
    if(
    $_POST['comuni']=="") {         
    $sel_comuni_ok="";
                 }else{
    $comune_s "";   
    foreach (
    $_POST['comuni'] as $value) {   
    $comune_s .= "$value"

    if(
    $row_comuni['idcomune']=="$comune_s") {
    $sel_comuni_ok="checked";    
                    }       } }  
    echo
    "<div class=\"checkbox\"><input type=\"checkbox\" id=\"{$row_comuni[idcomune]}\" value=\"{$row_comuni[idcomune]}\" name=\"comuni[]\" $sel_comuni_ok />                                    
    <label for=\"\">
    {$row_comuni[nomecomune]}</label>                            
    </div>                        
    "
    ;                           


    Il problema sta nel fatto che, ipotizzando che le checkbox popolate dinamicamente dalla query siano 3, se seleziono l'ultima e invio, mi torna selezionata l'ultima, ma se seleziono solo la prima e invio ,mi vengono restituire selezionate tutte e 3! Dove sto sbagliando

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Credo dipenda dal fatto che $sel_comuni_ok una volta impostata a "checked" non viene rinizializzata a NULL al inizio del while.
    In teoria, se selezioni solo il secondo comune, dovresti avere spuntati il secondo e il terzo.
    Tra l'altro il tuo codice ha alcuni punti oscuri per me (cos'è $comune_s ?)...non sarebbe più semplice fare così:
    Codice PHP:
    while ($row_comuni mysql_fetch_array($sql_result)) {
        
    $sel_comuni_ok = (isset($_POST['comuni']) &&
                 
    in_array($row_comuni['idcomune'],$_POST['comuni']) )?
            
    "checked" :
            
    "";
        echo 
    "...";

    Ultima modifica di boots; 03-10-2013 a 09:58

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    14
    Prima di tutto volevo ringraziarti della gentile risposta.
    Si hai ragione, decisamente più semplice, purtroppo il difetto dei principianti è sempre quello di cercare di "incartarsi" in strutture chiaramente sbagliate. Cerco di imparare

    Adesso passo al secondo dilemma; cercare di tirare giù una impaginazione "get" e mantenere i valori impostati nelle pagine seguenti. Se sarò in difficoltà cercherò aiuto in questo forum

    Grazie di nuovo......

    Ciao

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.