Php 我有一个代码,其中我希望使用存储在数据库中的ID在内容中显示我的数据

Php 我有一个代码,其中我希望使用存储在数据库中的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 这里

我正在开发一个网站,这是我的代码,在我的代码中有两个ID
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:-)