2011-12-14 58 views
0

我需要为视频创建一个flver。一个保管箱选择视图数量和其他类别。在这个网站上的优秀人士的帮助下,我设法创建了列表,但我不知道如何让它们“记住”两者的数据 - 当从一个下拉列表中选择一个值时,其他下拉列表将重置。我如何解决这个问题?请记住多个Dropbox PHP变量

这里是代码:

<?php 
$views = (int) $_GET['views']; 
$countries = "US"; 
$category =$_GET['category']; ?> 
<div id="views"> 

<p> 
View videos with 
    <form name="views" method="GET" action="random.php"> 
     <select name='views' onChange='document.views.submit()'> 
      <? $views_options = array (0, 50, 100, 500, 5000, 35000, 75000, 125000, 150000, 250000, 500000, 1000000, 3000000, 5000000, 10000000, 15000000, 20000000); 

foreach($views_options as $number_of_views) { 
    echo '<option value="' . $number_of_views . '"' . ($_GET['views']==$number_of_views ? ' selected="selected"' : '') . '>' . number_format($number_of_views) . '</option>'; 
} 
?> 
    </select> 
     </form> 
    <p>views or more 
    </p> 

</div> 

<div id="category"> 

<p> 
Category: 
    <form name="category" method="GET" action="random.php"> 
     <select name='category' onChange='document.category.submit()'> 
      <? $category_options = array ("All", "Games", "Film", "Animals", "Travel", "Sports", "Education", "News", "Shows", "People", "Technology", "Comedy", "Entertainment", "Music", "Howto", "Autos", "Nonprofit"); 

foreach($category_options as $category_select) { 
    echo '<option value="' . $category_select . '"' . ($_GET['category']==$category_select ? ' selected="selected"' : '') . '>' . $category_select . '</option>'; 
}?> 
    </select> 
     </form> 

回答

0

我认为你不需要为这两个不同的形式。

合并两种形式为一体,所以它应该工作:

<?php 
$views = (int) $_GET['views']; 
$countries = "US"; 
$category =$_GET['category']; ?> 
<div id="views"> 

<p> 
View videos with 
    <form name="views" method="GET" action="random.php"> 
     <select name='views' onChange='document.views.submit()'> 
      <? $views_options = array (0, 50, 100, 500, 5000, 35000, 75000, 125000, 150000, 250000, 500000, 1000000, 3000000, 5000000, 10000000, 15000000, 20000000); 

foreach($views_options as $number_of_views) { 
    echo '<option value="' . $number_of_views . '"' . ($_GET['views']==$number_of_views ? ' selected="selected"' : '') . '>' . number_format($number_of_views) . '</option>'; 
} 
?> 
    </select> 
    <p>views or more 
    </p> 

</div> 

<div id="category"> 

<p> 
Category: 
     <select name='category' onChange='document.views.submit()'> 
      <? $category_options = array ("All", "Games", "Film", "Animals", "Travel", "Sports", "Education", "News", "Shows", "People", "Technology", "Comedy", "Entertainment", "Music", "Howto", "Autos", "Nonprofit"); 

foreach($category_options as $category_select) { 
    echo '<option value="' . $category_select . '"' . ($_GET['category']==$category_select ? ' selected="selected"' : '') . '>' . $category_select . '</option>'; 
}?> 
    </select> 
     </form> 

因为你曾使用过两种形式仅下拉式菜单中的一个获得提交的(例如,你提交的类别,下拉“意见”将是空的(你正在使用GET方法,你会在你的URL中看到这个))。

如果你真的需要这个单独的两个表单,你将不得不将你的变量保存到PHP会话中。

+0

谢谢,效果很好。你能告诉我一件事吗?我也计划添加一个复选框来过滤国家,它会有一个提交按钮,因为我希望能够在提交之前检查多个值。另外我想下拉列表保留自动提交功能。是否有可能在不使用会话的情况下完成这样的事情? – cloaked 2011-12-14 08:37:12