2017-08-16 146 views
0

我提交和頁面重新加載後,我怎麼能保持這個複選框檢查?如果它被用戶檢查過。保持複選框提交後檢查

在$ checked變量中,我不需要in_array,但我不知道,我需要什麼。

echo '<div class="sidebar_szuro_div"> 
       <span class="sidebar_title"><i class="fa fa-caret-down" aria-hidden="true"></i> Akció</span>'; 
       $gyartok = runsql_array(" 
       SELECT gyarto_id, gyarto_nev FROM gyarto WHERE gyarto_id in (SELECT DISTINCT termek_gyarto FROM termek WHERE termek_id IN ( SELECT kat_kapcs_termek_id FROM `termek_katgoria_kapcsolo` WHERE kat_kapcs_kategoria_id='$kat_id' )) ORDER BY gyarto_nev ASC"); 
       if(isset($_REQUEST["csak_akcios"])) 
       { 
        $default = $_REQUEST["csak_akcios"]; 
       } 
       else 
       { 
        $default = array(); 
       } 
       echo '<div class="filters_container">'; 

         $termekdarab = runsql("SELECT COUNT(termek_id) AS counted FROM termek WHERE termek_status = 1 AND termek_akcio = 1 
         AND termek_id IN ( SELECT kat_kapcs_termek_id FROM `termek_katgoria_kapcsolo` WHERE kat_kapcs_kategoria_id='$kat_id' ) 
         "); 

         //$checked = in_array($gy["gyarto_id"] , $default)?' checked ':''; ???? 
         echo '<div class="checkbox padding_left_10 filter_div"><label><input type="checkbox" name="csak_akcios" value="1">Csak az akciós termékek mutatása ('.$termekdarab["counted"].')'.'</label></div>'; 

        echo '<div class="text-center"><button type="submit" name="filter_submit_btn" class="btn szures_btn">Mehet</button></div>'; 
       echo '</div>'; 
     echo '</div>'; 

回答

1

首先,刪除以下else塊,如果未選中複選框,則不要使$default爲數組。

else 
{ 
    $default = array(); 
} 

而且替換以下兩行

//$checked = in_array($gy["gyarto_id"] ... 
echo '<div class="checkbox padding_left_10 ... 

$checked = (isset($default) && $default == '1') ? 'checked="checked"' : ''; 
echo '<div class="checkbox padding_left_10 filter_div"> 
     <label> 
      <input type="checkbox" name="csak_akcios" value="1" '.$checked.' /> 
       Csak az akciós termékek mutatása ('.$termekdarab["counted"].')'.' 
     </label> 
    </div>'; 
+0

謝謝,它的工作原理! – Parkolo11

1

是這樣的: (如果您在使用表單POST)

<label><input type="checkbox" name="myName" value="myValue" <?php if(isset($_POST['myName'])) echo "checked='checked'"; ?> > This is checkbox</label> 

$_POST['myName']結合name="myName"