Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Динамично създаване на падащо меню от масив чрез PHP
  1. Падащо меню
     
Автор  plamenSm (01.04.2008 14:04)  съобщение до автора
Погледнат  2558 пъти  добави към любими
Оценка  добави коментар
Гласове  --  изпрати на приятел
Коментари  (0)  абонирай се за PHP
    Страница 1 / 1

 



(dropdown list, <select>, combo box)

В този урок ще покажем как може да се генерира динамично html код за падащо меню, като стойносттите се взимат от масив. Тази техника е особено полезна, когато предварително не ни е известно съдържанието на менюто. Например ако елементите се извличат от база данни по зададен от потребителя критерий.


Започваме със създаване на страницата. На необходимото място в <body>…</body> създаваме форма:

CODE
1
2
3
<form id="form1" name="form1" method="post" action="">
<!-- тук ще добавим код после -->
</
form>

В началото на PHP файла (преди началото на HTML кода т.е. преди „<doctype …>”) слагаме PHP код в който дефенираме 2 (в случая статични) масива. Един с местонахождения и един с „как разбрахте за нас”:

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$county = array (
   
' Kent ',
   
' West Susses ',
   
' East Sussex ',
   
' Sommerset ',
   
' Hampshire ',
   
' London ',
   
' Essex '
);

$hear = array (
   
' Google ',
   
' Друга Search Engine ',
   
' Списание ',
   
' Препоръка '
);
?>


Стойностите на тези масиви ще използваме за създаване на два падащи списъка за избор. За целта създаваме PHP функция, която получава като параметри масив с елементите на менюто и име на html <select> елемента, който функцията ще генерира.

Функцията можем да поставим в горния PHP таг, след масива $hear:

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function createDropdown( $arr, $frm )
{
   
echo '<select name="'.$frm.'" id="'.$frm.'"><option value="">Select one…</option>';

   
foreach ($arr as $key => $value)
    {
       
echo '<option value="'.$value.'">'.$value.'</option>';
   
}

   
echo '</select>';
}
?>

Сега да се върнем към формата и на мастото на коментара да записшем следния код:


CODE
1
2
3
4
5
<label for="frmcounty">Местонахождение:</label>
<?
php createDropdown($county, 'frmcounty'); ?>

<
label for="frmhowhear">Как разбрахте за нас?:</label>
<?
php createDropdown($hear, 'frmhowhear'); ?>


И така – записваме таг <label…> директно като html код и след него прибавяме динамично генериран html от PHP функцията createDropdown (), като я извикваме 2 пътисъс съответните параметри. Този подход позволява една и съща фунция да генерира всички падащи менюта в страницата.


В примера формата няма стойност за атрибута action.

За реално използване. Трябва да зададете на action стойност - PHP скрипта, който да получи POST завката, както и да добавите submit бутон във формата.


Също така, доколкото стринговете не са особено подходящи за идентификатори, можете да промените функцията така, че да работи с асоциативен масив, който да съдържа идентификатори – кодове (числа или буквени кодове) и асоциирани с тях текстове, като кодовете се присвояват на атрибута value, а текстовете – като текст на генерираните <option> елементи. Така в POST заявката ще се включат кодовете а не текстовете.



Източник: coremediadesign.co.uk



   


Ключови думи: PHP падащо меню масив combo box dropdown list


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008