W moim przypadku zastosowanie polega na tym, że użytkownik wypełnia formularza (krokowy) gdzie zaznacza predefiniowane rekordy (zdania). Efektem ostatecznym jest stworzenie za pomocą biblioteki OpenTBS dokument word / raportu. Edytowane textarea daje użytkownikowi możliwość modyfikowania predefiniowanych rekordów zanim zostanie stworzony ostateczny raport. Ot i taka idea i zastosowanie.
To co teraz jeszcze musze zrobić to w pliku checkbx.php rozdzielić zaznaczone checkbox i przypisać je do zmiennych np. $sekcja1, $sekcja2 etc. ale zakładam, że poradzę sobie z tym dodając waruneki tutaj:
if($set['sent']){
print_r('Zaznaczony zostal checkbox nr '.($cb_no+1).' w zestawie pytan "'.$prefix_name.'" a wartosc przypisanego do niego textarea to: '.$set['text'].'<br />'); }
Jedyne co mi pozostaję na tym eptapie to przyznanie się, że jestem kompletnym brodzikiem intelektualnym...
Podane przez ciebie rozwiąznie:
function getChecked($prepared_form_data){
foreach($prepared_form_data as $prefix_name => $prefix){
foreach($prefix as $cb_no => $set){
if($set['sent']){
'prefix' => $prefix_name,
'cb_no' => $cb_no+1,
'text' => $set['text']
);
}
}
}
return $output;
}
zwraca tablicę wielowymiarową z zaznaczonymi checkbox i odpowiadającymi im polami textarea.
Jak pamiętasz (lub nie) ja potrzebuję otrzymać nie jedną tablicę a zestaw tablic dla kolejnych prefixów...
czyli
tablice:
$prefix_name = $set['text']
Czyli jako rezultat chciałbym otrzymać tutaj 3 tablice (odpowiedno qwer, asdf, zxcv), dla zaznaczonych dla nich checkboxów...
Niby mam wszystko na tacy, ale mój mały mózg nie obejmuje tych wszystkich tablic wielowymiarowych, funkcji i pętli...
Tutaj wymęczyłem takie coś
function getChecked($prepared_form_data){
foreach($prepared_form_data as $prefix_name => $prefix){
foreach($prefix as $cb_no => $set){
if($set['sent']){
$output[$prefix_name] = array( 'text' => $set['text']
);
}
}
}
return $output;
}
Co zwraca mi prawidłową liczbę tablic (to znaczy dla zaznaczonego conajmniej jednego checkbox z każdego prefixa) zwraca mi 3 tablice. Jednak nadpisują się checkboxy w poszczególnych tablicach i każda zawiera tylko jeden element.
Czyli dla zaznaczonego checkbox (pytanie 3, pytanie 4, pytanie 7, pytanie 8) otrzymuje:
Array
(
[qwer] => Array
(
[text] => pytanie 3
)
[asdf] => Array
(
[text] => pytanie 4.1
)
[zxcv] => Array
(
[text] => pytanie 8
)
)
brak w tablicy zxcv [text] => pytanie 7 (nadpisane pewnie przez pytanie 8)
Walczę dalej, ale oczywiście, będe wdzieczny za pomoc.