2012-03-14 46 views
0

我创建了一个脚本来生成从1905年到2012年与HTML表单一起使用的年份列表。这基本上阻止了我手写它。如何使用PHP输出此文本?

我怎么会去输出东西,看起来像这样在浏览器:

<option value="2012">2012</option> 
<option value="2011">2011</option> 
<option value="2010">2010</option> 
etc... 

我的PHP脚本

<?php 

for ($i=2012;$i>=1905;$i--) { 
echo "<option value='$i'>" . $i . "</option>"; 
} 

?> 
+0

使用[datepicker](http://jqueryui.com/demos/datepicker/)怎么样? – JMax 2012-03-14 15:37:47

+4

它还没有? – miki 2012-03-14 15:38:54

+0

根据“在浏览器中输出类似内容”,您完全不清楚您的意思 – 2012-03-14 15:39:06

回答

1

你非常接近,只有报价在输出不同和换行丢失:

for ($i=2012; $i >= 1905; $i--) { 
    echo "<option value=\"$i\">$i</option>\n"; 
} 

或者可能是更好的读/管理

for ($i=2012; $i >= 1905; $i--) { 
    printf("<option value=\"%1\$d\">%1\$d</option>\n", $i); 
} 

Demo,输出:

<option value="2012">2012</option> 
<option value="2011">2011</option> 
<option value="2010">2010</option> 
<option value="2009">2009</option> 
<option value="2008">2008</option> 
<option value="2007">2007</option> 
<option value="2006">2006</option> 
<option value="2005">2005</option> 
<option value="2004">2004</option> 
<option value="2003">2003</option> 
<option value="2002">2002</option> 
<option value="2001">2001</option> 
<option value="2000">2000</option> 
<option value="1999">1999</option> 
<option value="1998">1998</option> 
<option value="1997">1997</option> 
<option value="1996">1996</option> 
<option value="1995">1995</option> 
<option value="1994">1994</option> 
<option value="1993">1993</option> 
<option value="1992">1992</option> 
<option value="1991">1991</option> 
<option value="1990">1990</option> 
<option value="1989">1989</option> 
<option value="1988">1988</option> 
<option value="1987">1987</option> 
<option value="1986">1986</option> 
<option value="1985">1985</option> 
<option value="1984">1984</option> 
<option value="1983">1983</option> 
<option value="1982">1982</option> 
<option value="1981">1981</option> 
<option value="1980">1980</option> 
<option value="1979">1979</option> 
<option value="1978">1978</option> 
<option value="1977">1977</option> 
<option value="1976">1976</option> 
<option value="1975">1975</option> 
<option value="1974">1974</option> 
<option value="1973">1973</option> 
<option value="1972">1972</option> 
<option value="1971">1971</option> 
<option value="1970">1970</option> 
<option value="1969">1969</option> 
<option value="1968">1968</option> 
<option value="1967">1967</option> 
<option value="1966">1966</option> 
<option value="1965">1965</option> 
<option value="1964">1964</option> 
<option value="1963">1963</option> 
<option value="1962">1962</option> 
<option value="1961">1961</option> 
<option value="1960">1960</option> 
<option value="1959">1959</option> 
<option value="1958">1958</option> 
<option value="1957">1957</option> 
<option value="1956">1956</option> 
<option value="1955">1955</option> 
<option value="1954">1954</option> 
<option value="1953">1953</option> 
<option value="1952">1952</option> 
<option value="1951">1951</option> 
<option value="1950">1950</option> 
<option value="1949">1949</option> 
<option value="1948">1948</option> 
<option value="1947">1947</option> 
<option value="1946">1946</option> 
<option value="1945">1945</option> 
<option value="1944">1944</option> 
<option value="1943">1943</option> 
<option value="1942">1942</option> 
<option value="1941">1941</option> 
<option value="1940">1940</option> 
<option value="1939">1939</option> 
<option value="1938">1938</option> 
<option value="1937">1937</option> 
<option value="1936">1936</option> 
<option value="1935">1935</option> 
<option value="1934">1934</option> 
<option value="1933">1933</option> 
<option value="1932">1932</option> 
<option value="1931">1931</option> 
<option value="1930">1930</option> 
<option value="1929">1929</option> 
<option value="1928">1928</option> 
<option value="1927">1927</option> 
<option value="1926">1926</option> 
<option value="1925">1925</option> 
<option value="1924">1924</option> 
<option value="1923">1923</option> 
<option value="1922">1922</option> 
<option value="1921">1921</option> 
<option value="1920">1920</option> 
<option value="1919">1919</option> 
<option value="1918">1918</option> 
<option value="1917">1917</option> 
<option value="1916">1916</option> 
<option value="1915">1915</option> 
<option value="1914">1914</option> 
<option value="1913">1913</option> 
<option value="1912">1912</option> 
<option value="1911">1911</option> 
<option value="1910">1910</option> 
<option value="1909">1909</option> 
<option value="1908">1908</option> 
<option value="1907">1907</option> 
<option value="1906">1906</option> 
<option value="1905">1905</option> 
+0

是的!谢谢!我没有足够的声望点来接受这个答案或者投票。这是我正在寻找的正确答案! – user1215071 2012-03-14 15:52:56

+0

稍后您将能够接受答案(您不需要任何代表接受您的其中一个问题的答案),那么只有一段时间您需要通过,直到您可以接受为止。 – hakre 2012-03-14 15:54:52

0
for ($i=2012;$i>=1905;$i--) { 
echo "<option value='$i'>" . $i . "</option>"; 
} 

你忘了回声$ i的值适当所以它不会工作

用这个代替,注意值字段。和其他意见surgested u可以使用一个datpicker

for ($i=2012;$i>=1905;$i--) { 
echo "<option value='".$i."'>" . $i . "</option>"; 
} 
+0

PHP在双引号字符串中有变量替换,请参阅http://php.net/string#language.types.string.parsing。 – hakre 2012-03-14 15:47:51

+0

这应该仍然有效 – MakuraYami 2012-03-14 15:48:53

0
<select> 
    <?php for ($i=2012;$i>=1905;$i--) { ?> 

    <option value=<?=$i?>> <?=$i?> </option> 

    <?php } ?> 
</select> 

只是一个提示。避免使用echo打印html。