我正在开发一个网站,这是我的代码,在我的代码中,我有两个ID sId
(部分)和ssId
(SubSectionId),我有一个页面可以说index.php
现在我正在制作这样的网址 - 当我点击左侧导航栏中我有链接时,当我点击一个链接时,它会发送一个像localhost/index.php?sId=29&ssId=0
现在,我想通过使用发送标识ssId=181
index.php
上显示localhost/index.php?sId=29&ssId=181
数据
这里的问题是结果显示在sId=29
的内容区域而不是ssId=181
,并且都存储在数据库中..
if(isset($_GET['sId']) && !empty($_GET['sId']))
{
?>
<div>
<br /><br />
<h2 class="heading">
<?php
$sId = intval($_GET['sId']);
$qry = "SELECT `SectionId`,`Title`,`Details` FROM `section` WHERE `SectionId` = $sId";
$records = mysql_query($qry);
while($record= mysql_fetch_array($records))
{
echo $record['Title'];
?>
</h2>
<br />
<p>
<?php
echo $record['Details'];
}
?>
</p>
</div>
</div>
<?php
}
elseif(isset($_GET['sId']) && !empty($_GET['sId']) && isset($_GET['ssId']) && !empty($_GET['ssId']))
{
?>
<div>
<br /><br />
<h2 class="heading">
<?php
$sId = intval($_GET['sId']);
$ssId = intval($_GET['ssId']);
$qry = "SELECT SubSectionId,Title,Details FROM `pages` WHERE `SubSectionId` = $ssId";
$records = mysql_query($qry);
while($record= mysql_fetch_array($records))
{
echo $record['Title'];
?>
</h2>
<br />
<p>
<?php
echo $record['Details'];
}
?>
</p>
</div>
</div>
<?php
}
}
希望你们明白。提前致谢。
答案 0 :(得分:2)
如果我理解正确,您就会说以下内容。
我是对的吗?
尝试使用两个IF块而不是IF / ELSE。这将确保将运行所有满足的条件而不是仅运行一个条件。
此外,您可以坚持使用empty
函数调用。
if ( !empty($_GET['sId']) ) {
//load and show content for section
}
if ( !empty($_GET['ssId']) ) {
//load and show content for sub section
}
更新 - 要让小节优先于小节,您需要撤消IF / ELSE条件。
if ( !empty($_GET['sId']) && !empty($_GET['ssId']) ) {
//load and show content for sub section if availavle
} else if ( !empty($_GET['sId']) ) {
//load and show content for section
}