Php 我有一个代码,其中我希望使用存储在数据库中的ID在内容中显示我的数据
我正在开发一个网站,这是我的代码,在我的代码中有两个IDPhp 我有一个代码,其中我希望使用存储在数据库中的ID在内容中显示我的数据,php,Php,我正在开发一个网站,这是我的代码,在我的代码中有两个IDsId(部分)和ssId(子部分ID)我有一个页面,比如说index.php,现在我制作的url是这样的——当我点击左侧导航栏上有链接的地方,当我点击一个链接时,它会发送一个id,比如localhost/index.php?sId=29&ssId=0 现在我想在同一个页面上使用这些id显示ssId=181数据index.php,方法是点击发送id的小节的同一个左导航localhost/index.php?sId=29&ssId=181 这里
sId
(部分)和ssId
(子部分ID)我有一个页面,比如说index.php
,现在我制作的url是这样的——当我点击左侧导航栏上有链接的地方,当我点击一个链接时,它会发送一个id,比如localhost/index.php?sId=29&ssId=0
现在我想在同一个页面上使用这些id显示ssId=181
数据index.php
,方法是点击发送id的小节的同一个左导航localhost/index.php?sId=29&ssId=181
这里的问题是,结果显示在sId=29
的contentarea上,而不是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
}
}
if(isset($\u GET['sId'])和&!empty($\u GET['sId']))
{
?>
如果我没听错的话,你是这样说的
脚本需要sid和/或和ssid作为输入
如果提供了其中一个,脚本将从数据库加载相关内容并显示它
但是,当前脚本不显示ssid的内容,只显示sid的内容
我说得对吗
尝试使用两个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
}
是的,john,这正是我想要的,但问题是,如果sId=29&ssId=181,我使用了elseif条件来显示子节的结果,但它没有显示结果。如果定义了子节,您是否只想显示子节而不显示主节?如果是这样,您需要颠倒if/ELSE的顺序,以便子节条件首先选中on。是的,我想在内容区域中显示子部分详细信息,当我点击一个leftnav链接时,它会向url发送一个id,然后我获取此id并发送给查询,查询必须向我显示存储在内容区域上该id中的结果,这就是我想要的。if(!empty($\u GET['sId')){//如果这个条件为真,我想在这里显示它的数据}如果(!empty($_GET['ssId']){//如果这个条件为真,我想在这里显示它的数据意味着同一页,但想在sId数据上重叠ssId}
谢谢我解决了我的问题实际上我把if条件放在了同一块中..非常感谢@JohnP:-)