Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于查询字符串设置Z索引_Php_Variables_Z Index - Fatal编程技术网

Php 基于查询字符串设置Z索引

Php 基于查询字符串设置Z索引,php,variables,z-index,Php,Variables,Z Index,我有一些代码,首先根据另一页上链接中包含的查询字符串在下拉菜单中选择选项值: <form action="" method="post" name="program" class="program"> <?php $options = array('football1' => 'Football', 'baseball1' => 'Baseball', 'basketball1' => 'Basketball', 'hockey1' => '

我有一些代码,首先根据另一页上链接中包含的查询字符串在下拉菜单中选择选项值:

  <form action="" method="post" name="program" class="program">
  <?php
  $options = array('football1' => 'Football', 'baseball1' => 'Baseball', 'basketball1' => 'Basketball', 'hockey1' => 'Hockey', 'soccer1' => 'Soccer');
  echo '<select name="name" size="1" onchange="ShowHide(this.value);">';
  foreach($options as $clinic => $name) {
    if(array_key_exists('clinic', $_GET) && $_GET['clinic'] === $clinic) {
        echo '<option selected="selected" value="'.$clinic.'">'.$name.'</option>';
    }
    else {
        echo '<option value="'.$clinic.'">'.$name.'</option>';
    }
   }
  echo '</select>';
  ?>
  </form>

以前一切都很顺利,因为我总是把第一个项目——足球1放在最上面。但现在人们将开始从事特定的运动,我需要z指数能够在任何一个iFrame中开始。我假设这取决于是否定义了下拉菜单中的$clinic变量。如果未定义,则z索引仍默认为第一项。如果不是的话,它将被归因于链接到的任何诊所。我只是不知道该怎么做。谢谢

为什么不使用与选择下拉元素相同的代码?逻辑完全相同:

$options = array('football1' => 'Football', 'baseball1' => 'Baseball', 'basketball1' => 'Basketball', 'hockey1' => 'Hockey', 'soccer1' => 'Soccer');
foreach($options as $clinic => $name) {
   if(array_key_exists('clinic', $_GET) && $_GET['clinic'] === $clinic) {
       echo '<iframe id="'.$clinic.'" style="z-index:1;" scrolling="no" frameborder="0" src="www.mysite.com/'.$name.'"></iframe>';
   }
   else {
       echo '<iframe id="'.$clinic.'" scrolling="no" frameborder="0" src="www.mysite.com/'.$name.'"></iframe>';
   }
}

您是否想过隐藏/显示iFrame而不是分层?这在JS中很容易做到,或者您可以只应用style=display:none;给隐藏/背景iframes谢谢Dutchie。我忘了当初为什么要这样做。我可能有原因,但隐藏和展示听起来更实际。谢谢,朱利安。这本应该很容易,但我已经起床24小时了,一开始我对php不太熟悉。它工作得很好。实际上,它一开始工作得很好,但是如果你离开页面,通过标准链接返回,下拉菜单选项将始终是第一个值,并且它不一定与顶部的表单匹配。我不想将clinic查询字符串添加到将用户带到页面的常规链接中,因此我必须添加另一段代码。好的,这两种情况下的代码完全相同,因此可能是您的浏览器记住了您在下拉列表中选择的最后一个选项。在这种情况下,Javascript解决方案可能更优雅。或者运行此命令以设置默认参数:if!数组_key_存在'clinic',$\u GET$\u GET['clinic']=football 1;如果这对你有帮助,请考虑接受答案-谢谢!我认为你的解决方案是完美的。我看不出有什么问题。谢谢。顺便问一下,为什么您的最后一段代码与它下面的那一行略有不同?
$options = array('football1' => 'Football', 'baseball1' => 'Baseball', 'basketball1' => 'Basketball', 'hockey1' => 'Hockey', 'soccer1' => 'Soccer');
foreach($options as $clinic => $name) {
   if(array_key_exists('clinic', $_GET) && $_GET['clinic'] === $clinic) {
       echo '<iframe id="'.$clinic.'" style="z-index:1;" scrolling="no" frameborder="0" src="www.mysite.com/'.$name.'"></iframe>';
   }
   else {
       echo '<iframe id="'.$clinic.'" scrolling="no" frameborder="0" src="www.mysite.com/'.$name.'"></iframe>';
   }
}