Я использовал следующее, чтобы получить значение выбранного элемента в раскрывающемся списке на моих страницах.Как получить выбранное значение раскрывающегося списка, созданного через echo?
$field = $_POST['dropdownlistname'];
Однако, когда я создаю выпадающий список через эхо, это не работает. Ниже приведена моя форма.
<form name="searchForm" action="newCustomerSearchform.php" method="post">
<label><span></span> <input type="text" name="searchDB" /></label>
<button type="submit" name="btnSearch" value="Search" id="btnSearch" onclick="this.form.action">Search</button></label>
<?php
echo '<select name="customers">';
foreach ($_SESSION['names'] as $option => $value) {
echo '<option value='.$value['ID'].'>'.$value['First_Name'].' '.$value['Surname'].'</option>';
}
echo '</select>';
$test = $_POST['customers'];
echo $test;
</form>
После того, как форма будет отправлена на следующий запросе выполняются на newCustomerSearch.php
<?php
include 'newCustomer.php';
connect('final');
$searchtext = $_POST['searchDB'];
$searchtext = htmlspecialchars($searchtext); // stop HTML charkacters
$searchtext = mysql_real_escape_string($searchtext); //stop SQL injection
$query = "SELECT * FROM customer WHERE First_Name LIKE '%$searchtext%'";
$data = mysql_query($query) or die(mysql_error());
$Customers = array();
$colNames = array();
while($row = mysql_fetch_assoc($data)){// puts data from database into array, loops until no more
$Customers[] = $row;
}
$anymatches = mysql_num_rows($data); //checks if the querys returned any results
if ($anymatches != 0) {
$_SESSION['names']=$Customers;
$colNames = array_keys(reset($Customers));
}
if ($anymatches == 0)
{
echo "Sorry, but we can not find an entry to match your query<br><br>";
}
header("location: newCustomer.php");
?>
страница newCustomer затем перезагружает с оказанным выпадающим списком флуд всех строк, возвращаемых запросом.
Затем я хочу получить значение элемента в раскрывающемся списке. без повторной подачи формы.
Что вы подразумеваете под _dynamically_? Будет ли отправлен запрос POST на страницу PHP, содержащую ваш код? – kero
Имя оператора select не является динамическим. Значит, это не должно отличаться от использования статического списка выбора? –
Вы отправили форму, когда пытаетесь прочитать значение из '$ _POST ['customers']'? –