我有两个不同的PHP文件:
- 的index.php
- show.php
醇>
-
index.php
<ul>
<li><a href="show.php?id=1">Show Div 1</a></li>
<li><a href="show.php?id=2">Show Div 2</a></li>
<li><a href="show.php?id=3">Show Div 3</a></li>
</ul>
-
show.php
<style type="text/css">
.div1 {display:none;}
.div2 {display:none;}
.div3 {display:none;}
</style>
<div class="div1">Div 1 Content</div>
<div class="div2">Div 2 Content</div>
<div class="div3">Div 3 Content</div>
-
当您在show.php
中阅读css样式时,将不会显示任何内容。
如果用户点击来自<li>
的{{1}}中的哪一个,则用户只能看到index.php
.div
show.php
<li>
点击的index.php
}}
我假设这种方法会减少文件。 (就像我想知道的那样)
因为要显示的所有内容都在一个文件中(show.php
)。
好吧,如何从<li>
制作每个index.php
只会显示show.php
中每个div的内容。
答案 0 :(得分:1)
你想在show.php
中这样做<?php $id = isset($_GET['id']) ? $_GET['id'] : 0; ?>
<style type="text/css">
.div1, .div2, .div3 {display: none}
<?php if($id == 1) {
echo '.div1 {display: block; }';
} elseif($id == 2) {
echo '.div2 {display: block; }';
} elseif($id == 3) {
echo '.div3 {display: block; }';
}
</style>
<div class="div1">Div 1 Content</div>
<div class="div2">Div 2 Content</div>
<div class="div3">Div 3 Content</div>
答案 1 :(得分:0)
这样的事情应该有效,但请记住,这有点像“黑客”。有更好的方法可以实现这一目标,但它们不属于您的问题范围。
的index.php:
<ul>
<li><a href="show.php?id=1">Show Div 1</a></li>
<li><a href="show.php?id=2">Show Div 2</a></li>
<li><a href="show.php?id=3">Show Div 3</a></li>
</ul>
show.php:
<style type="text/css">
.div1 {display:none;}
.div2 {display:none;}
.div3 {display:none;}
<? if($_GET['id']==1) { echo ".div1 {display:block;" } ?>
<? if($_GET['id']==2) { echo ".div2 {display:block;" } ?>
<? if($_GET['id']==3) { echo ".div3 {display:block;" } ?>
</style>
<div class="div1">Div 1 Content</div>
<div class="div2">Div 2 Content</div>
<div class="div3">Div 3 Content</div>
答案 2 :(得分:0)
这是一种糟糕的方法 - 你应该只回复相关的内容 - 而不是一堆隐藏的div。
@Styphon评论后编辑。
show.php
<div>
<?php
$id = isset($_GET['id']) ? $_GET['id'] : 0;
if($id == "1"){
echo "Div 1 Content";
}
else if ($id == "2"){
echo "Div 2 Content";
}
else if ($id == "3"){
echo "Div 3 Content";
}
else{
echo "Default content";
}
?>
</div>
评论认为,这是一个更好的方法,但没有回答原来的问题。请阅读https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem
这个问题是XY问题的一个例子。
答案 3 :(得分:0)
的index.php:
<ul>
<li><a href="show.php?id=1">Show Div 1</a></li>
<li><a href="show.php?id=2">Show Div 2</a></li>
<li><a href="show.php?id=3">Show Div 3</a></li>
</ul>
show.php:
<style type="text/css">
.hidden {display:none;}
.display {display: block;}
</style>
<div class="<?php if(!isset($_GET['id'])||$_GET['id']==1) echo 'display'; else echo 'hidden'; ?>">Div 1 Content (default)</div>
<div class="<?php if(isset($_GET['id'])&&$_GET['id']==2) echo 'display'; else echo 'hidden'; ?>">Div 2 Content</div>
<div class="<?php if(isset($_GET['id'])&&$_GET['id']==3) echo 'display'; else echo 'hidden'; ?>">Div 3 Content</div>