1

我是 php 和 web 编程的新手。

我正在编写一个收集论文的网站。在提交表单中,我希望通过 3 个选择下拉表单(日-月-年)输入日期。我曾经将它们添加到文本字段中并将它们保存为数据库中的字符串。我已经添加了数百篇文章,所以我没有更改数据类型。

我做了以下事情:1-我使用php做了一个动态下拉列表:

function get_dropdown_options( $name, array $options, $selected=null ) {
$dropdown = '<select name="'.$name.'" id="'.$name.'">'."\n";
$selected = $selected;
    foreach( $options as $key=>$option )
{
   $select = $selected==$key ? ' selected' : null;
   $dropdown .= '<option value="'.$key.'"'.$select.'>'.$option.'</option>'."\n";
}

$dropdown .= '</select>'."\n";
return $dropdown; }

2- 然后我做了一个函数来显示天、月和年的三个下拉菜单。

function show_date_dropdown_row($name, $label, $option1, $option2, $option3,  $value = "") {

echo "<tr class=\"".get_row_bg()."\" valign='top'>\n<td><p class=\"rowtitle\">".$label."</p></td>\n"; 
  echo "<td><p>\n";     
  echo get_dropdown_options($name1, $option1, $value1).get_dropdown_options($name2, $option2, $value2).get_dropdown_options($name3, $option3, $value3);
  return $name = $name1." - ".$name2." - ".$name3;
    }

3-在提交表单页面中,我输入了以下代码:

show_date_dropdown_row("release_date", "Release Date", $days_list, $months_list, $years_list, "");

4- 然后将名称“release_date”添加到数据库中。

该页面完美地显示了三个下拉列表。但问题是数据库中的“release_date”不存储任何值。

我在第 1 步中尝试了该功能,并且效果很好。我知道问题出在第二步,但不知道在哪里。

4

1 回答 1

0

首先,您在 show_dropdown_row 中的退货声明不会为您提供所需的日期。当用户请求页面时,该功能将只运行一次。

因此,您应该在 get_dropdown_options 函数中输入类似的值,而不是 $name1、$name2 和 $name3。日、月和年作为您选择的元素的名称。

在您的 php 脚本上提交表单时,您应该使用 post 或 get 捕获这些值。喜欢。

$dates=$_POST['year']."-".$_POST['month']."-".$_POST['day'];
于 2013-08-18T22:16:38.357 回答