Я новичок в PHP, я хотел бы создать страницу PHP, которая включает в себя команду combobox и кнопку отправки. Выделение позволяет выбрать значение месяца, янв., Февраль ... и так далее. По умолчанию значение для PHP равно: $value="Jan"
, если я выберу combobox с Jan до Mar, значение на PHP должно измениться на $value="Mar"
. Итак, как я могу достичь такой функциональности?Как изменить значение на PHP?
ответ
Используйте следующий код.
<?php
if(isset($_POST['submit'])){
echo $mont = $_POST['month'];
}
?>
<form method="post" action="">
<select name='month'>
<?php
$monts = array('jan', 'fab','march','april', 'may', 'june', 'july','aug', 'sep', 'oct', 'nov', 'dec');
foreach ($monts as $value) {?>
<option value="<?php echo $value?>" <?php if($mont == $value) { echo 'selected="selected"';}?>><?php echo $value; ?></option><?php }
?>
</select>
<input type="submit" value="submit" name='submit'></input>
</form>
Когда вы выберете несколько значений из выпадающего списка и отправьте форму, в PHP вы получите массив выбранных значений. Таким образом, вы можете получить последнее значение только из этого массива.
$combo = $_POST['combo'];// array(0=>"Jan", 1=>"Feb",2=>"Mar");
$value = $combo[count($combo)-1]; //Mar
Я думаю, что это должно быть 'count - 1' right? Потому что он начинается с 0 :) – Refilon
@Refilon: Да, правильно .. Спасибо Мужчина :) –
common.php
<?php
$ArrayList = array(1=>'Ford',2=>'Chevy');
$ArraySubList[1] = array(1=>'Focus',2=>'Explorer');
$ArraySubList[2] = array(1=>'Cavalier',2=>'Impala', 3=>'Malibu');
?>
index.php
<script type="text/javascript">
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
function ajax_function(url, postData, id)
{
xmlhttp=GetXmlHttpObject();
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", postData.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
{
document.getElementById(id).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.send(postData);
}
function dispSecond(Id)
{
var params = 'Id=' + Id ;
var DivId = 'dispDiv';
ajax_function('ajax_display.php', params, DivId);
}
</script>
<?php
require_once('common.php');
?>
<select id="drop_first" name="drop_first" onchange="return dispSecond(this.value);">
<option value="0">[Select]</option>
<?php
foreach ($ArrayList as $k=>$v)
{
echo '<option value="'.$k.'">'.$v.'</option>';
}
?>
</select>
<div id="dispDiv"></div>
ajax_display.php
<?php
require_once('common.php');
$Id = isset($_REQUEST['Id']) ? $_REQUEST['Id'] : '';
if ($Id)
{
$SubArray = $ArraySubList[$Id];
?>
<select id="drop_second" name="drop_second">
<option value="0">[Select]</option>
<?php
foreach ($SubArray as $k=>$v)
{
echo '<option value="'.$k.'">'.$v.'</option>';
}
?>
</select>
<?php
}
?>
Примечание: common.php, изменять значения массива или извлечь из MySQL
Попробуйте ввести код. Синтаксис можно искать в Google. Получите последнее значение из выбранных значений. –