我有一个代码,我想在内容中使用存储在数据库中的id显示我的数据

时间:2013-08-22 06:57:41

标签: php

我正在开发一个网站,这是我的代码,在我的代码中,我有两个ID sId(部分)和ssId(SubSectionId),我有一个页面可以说index.php现在我正在制作这样的网址 - 当我点击左侧导航栏中我有链接时,当我点击一个链接时,它会发送一个像localhost/index.php?sId=29&ssId=0

的ID

现在,我想通过使用发送标识ssId=181

的小节的相同leftnav,在同一页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   
  }
}

希望你们明白。提前致谢。

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您就会说以下内容。

  1. 您的脚本需要输入sid和/或ssid作为输入。
  2. 如果提供了其中任何一个,您的脚本将从数据库加载相关内容并显示
  3. 但是,目前你的脚本没有显示ssid的内容,只会显示sid的内容
  4. 我是对的吗?

    尝试使用两个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
    }