Multiple selects
Maza PHP funkcija, ka palīdz apiet problēmu, kura rodas, veidojot formas ar select
elementu, kurā drīkst vienlaicīgi atzīmēt vairākus elementus.
Tā vietā, lai rakstītu <select name="sel[]">
, kas neatbilst jums visiem tik mīļajām specifikācijām un rekomendācijām, ar šīs funkcijas palīdzību var rakstīt tā, kā visā normālajā pasaulē pieņemts - <select name="sel">
.
Rezultātā tieši tāpat kā pirmajā gadījumā tiks iegūts masīvs $_POST['sel']
, kurā tad arī tiks uzskaitīti visi elementi. Vienīgais mīnuss, kurš pastāv, ir tas, ka lai servera galā sekmīgi to visu apstrādātu, nāksies izmantot mazu viltību, jo, gadījienā, ja tiks atzīmēts tikai viens no elementiem, nekāds masīvs neizveidosies (kas loģiski):
$_POST = processRawPostData();
if (isset($_POST['sel']) && !is_array($_POST['sel'])) {
$_POST['sel'] = Array($_POST['sel']);
}
P.S. Šitais nestrādās, izmantojot formu ar enctype="multipart/form-data"
.
P.P.S. Un vēl. Ja mēs pieminam arīdzan WML, tad šeit multiplie selekti tiek padoti kā sel=val1;val2;val3
es
2004. gada 2. novembrī, plkst. 22:32
Un patīk cilvēkiem sarežģīt sev dzīvi :))
anonīmi
2004. gada 2. novembrī, plkst. 22:59
vietās, kur specene ir stulba, es viņu pārkāpju. bez sirdsapziņas pārmetumiem.
laacz
2004. gada 2. novembrī, plkst. 23:05
es: manuprāt es to esmu atvieglojis :)
anonīmi: dotajā gadījumā PHP metode ir stulba un nepārdomāta :)
Delfins
2004. gada 3. novembrī, plkst. 09:28
lācz, ja parādas šitādi PS un PPS, tad labak to nelietot. un palikt pie vecām metodēm.
laacz
2004. gada 3. novembrī, plkst. 09:30
Delfins: Tas nav tik viennozīmīgi.