PHP - jaký algoritmus? Kam dál? pomoc
Ahoj.
Mám takovou dynamickou úlohu. Jde o filtry, které se mají uživateli uložit(zobrazit jeho poslední volby).
Graficky to vypadá takto:
Uživatel zatrhne nějaké položky a já po odeslání formuláře potřebuji, aby se mu zobrazilo, co měl předtím zatrhlé.
Zatím to vypadá na piece of cake .
Ovšem já zpětně znám pouze jména zatržených inputů a jejich hodnoty.
Přičemž NAPROSTO VŠE je dynamické. Tedy od názvů až po hodnoty.
Zdroják vypadá takto:
<input type="checkbox" name="Rozliseni[]" value="1280x1024" />Rozliseni - 1280x1024<br><input type="checkbox" name="Rozliseni[]" value="1680x1050" />Rozliseni - 1680x1050<br>input type="checkbox" name="Rozliseni[]" value="1920x1080" />Rozliseni - 1920x1080
A kód ke kterému jsem se dopracoval takto:
if(isset($_POST[$zakaznik["additional_name"]])){
if (is_array($_POST[$zakaznik["additional_name"]])) {
foreach($_POST[$zakaznik["additional_name"]] as $value){
if ( $value == $zakaznik['min( additional_value )'] ) {
echo '<input type="checkbox" name="'. $zakaznik["additional_name"] .'[]" value="'. $zakaznik['min( additional_value )'] .'" checked />'. $zakaznik["additional_name"].' - '. $zakaznik["val"] .'nahore<br>';
$posledni_filtr_ma_hodnotu = $zakaznik['min( additional_value )'];
}else
{
echo '<input type="checkbox" name="'. $zakaznik["additional_name"] .'[]" value="'. $zakaznik['min( additional_value )'] .'" />'. $zakaznik["additional_name"].' - '. $zakaznik["val"] .'uprostred<br>';
$posledni_filtr_ma_hodnotu = $value;
}
}
} else {
// echo '<input type="checkbox" name="'. $zakaznik["additional_name"] .'[]" value="'. $zakaznik['min( additional_value )'] .'" />'. $zakaznik["additional_name"].' - '. $zakaznik["val"] .'<br>';
}
}else {
echo '<input type="checkbox" name="'. $zakaznik["additional_name"] .'[]" value="'. $zakaznik['min( additional_value )'] .'" />'. $zakaznik["additional_name"].' - '. $zakaznik["val"] .'dole<br>';
//echo '<input type="checkbox" name="'. $zakaznik["additional_name"] .'[]" value="'. $zakaznik['min( additional_value )'] .'" />'. $zakaznik["additional_name"].' - '. $zakaznik["val"] .'<br>';
$posledni_filtr_ma_hodnotu = $zakaznik['min( additional_value )'];
$checked = '';
}
Uvedený kód funguje bezvadně pro jednu zatrženou položku.Jakmile je jich více dojde k nežádoucí duplikaci.
Například: PRO
Dává výsledek:
Máte nějaký nápad?