2011-07-12 9 views
7
<select id="animal" name="animal">      
<option value="0">--Select Animal--</option> 
<option value="1">Cat</option> 
<option value="2">Dog</option> 
<option value="3">Cow</option> 
</select> 

if($_POST['submit']) 
{ 
$animal=$_POST['animal']; 
} 

Mam menu rozwijane w ten sposób. Co chcę, chcę uzyskać wybraną wartość i tekst w przycisku przesłać za pomocą PHP. Mam na myśli to, że został wybrany pierwszy. Chcę uzyskać pomoc zarówno pod i Cat . Dziękuję Ci.PHP get dropdown value and text

Odpowiedz

11
$animals = array('--Select Animal--', 'Cat', 'Dog', 'Cow'); 
$selected_key = $_POST['animal']; 
$selected_val = $animals[$_POST['animal']]; 

Użyj swojej listy zwierząt, aby wygenerować listę rozwijaną; możesz teraz uzyskać klucz o wartości &.

+0

Właściwie w tym przypadku rozwijane generowane przez bazę danych. –

+1

Generowanie z bazy danych nie ma znaczenia. Możesz wygenerować tablicę do użycia na liście rozwijanej przy użyciu wartości pobranych z bazy danych. W związku z tym masz tablicę po stronie serwera, której możesz użyć do utworzenia listy rozwijanej, możesz uzyskać wartość POSTED i zmapować ją do klucza w tablicy, która odwzorowuje na identyfikator bazy danych. – john

15

Czy istnieje powód, dla którego tego nie użyłeś?

<select id="animal" name="animal">      
    <option value="0">--Select Animal--</option> 
    <option value="Cat">Cat</option> 
    <option value="Dog">Dog</option> 
    <option value="Cow">Cow</option> 
</select> 

if($_POST['submit'] && $_POST['submit'] != 0) 
{ 
    $animal=$_POST['animal']; 
} 
+0

dziękuję, chcę tylko, że potrzebuję :) –

1

Będziesz musiał zapisać relację po stronie serwera. Wartość jest jedyną częścią, która jest przesyłana, gdy formularz zostanie opublikowany. Można zrobić coś paskudnego jak ...

< wartość opcji = „2 | Dog”> Pies </option>

Następnie podzielić wynik od siebie, czy naprawdę chciał, ale że jest brzydki i siekać marnowanie przepustowości przy założeniu, że liczby są naprawdę wyjątkowe i mają jeden do jednego związek z tekstem.

Najlepszym sposobem jest utworzenie tablicy i przechodzenie przez tablicę w celu utworzenia kodu HTML. Po opublikowaniu formularza możesz użyć wartości, aby wyszukać tekst w tej samej tablicy.

+0

dzięki za tę odpowiedź. Ale tutaj zamieszczam tylko próbkę. Właściwie w moim przypadku wygenerowałem to rozwijanie za pomocą DB. Innym przypadkiem jest to, że jeśli nie wstawiłbym tego tekstu do tej konkretnej tabeli, powinienem dołączyć do 3 tabel, gdy wyświetlam dane. –