如果页面为2+,PHP基础知识将显示相同的页面

时间:2012-10-23 11:13:47

标签: php selector

大家好,我正在使用这个脚本进行分页:

<?php
if(isset($_GET['page']) && $_GET['page'] != '') {
   $pageno = $_GET['page']; /* Sanitize Here */
} else {
   /* You can redirect user to home page */
}
?>
<?php
if(isset($pageno)) {
  if($pageno == '1') {
     ?>
<div class="container">
  <div class="examples">
    <div class="row">
      <div class="span3">
      <img id="one" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="two" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="three" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="four" src="img/example.png"/>
      </div>
    </div>
    <br />
        <div class="row">
      <div class="span3">
      <img id="one" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="two" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="three" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="four" src="img/example.png"/>
      </div>
    </div>
        <br />
        <div class="row">
      <div class="span3">
      <img id="one" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="two" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="three" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="four" src="img/example.png"/>
      </div>
    </div>
    <br />
    <div class="pages">

       <div class="prev-blocked"></div>
              <a href="portfolio.php?page=2"><div class="next"></div></a>
<br /><br /><br />
    </div>
  </div>
<?php    
  } 
  elseif($pageno == '2') {
 ?>
 <div class="container">
 <br />
 <div class="alert alert-error">
  <b>Opps!</b> We could not find out the page you're requesting. <a href="index.php">Go back</a>
</div>
 </div>
<!--
<div class="container">
  <div class="examples">
    <div class="row">
      <div class="span3">
      <img id="one" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="two" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="three" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="four" src="img/example.png"/>
      </div>
    </div>
    <br />
        <div class="row">
      <div class="span3">
      <img id="one" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="two" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="three" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="four" src="img/example.png"/>
      </div>
    </div>
        <br />
        <div class="row">
      <div class="span3">
      <img id="one" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="two" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="three" src="img/example.png"/>
      </div>
          <div class="span3">
      <img id="four" src="img/example.png"/>
      </div>
    </div>
    <br />
    <div class="pages">

       <a href="portfolio.php?page=1"><div class="prev"></div></a>
              <div class="next-blocked"></div>
<br /><br /><br />
    </div>
  </div>
  -->
    <?php
  }
}
?>

你能看到

行吗?
elseif($pageno == '2') {

这意味着页面.php?page = 2将显示以下内容

我想这样做,所以每个高于数字2的页面都会显示相同的页面。

我尝试过这些选项:

elseif($pageno == '>=2') {

elseif($pageno == '>2') {

它们都没有作用,甚至没有错误。 我怀疑你可以用这个脚本做这样的事情但是,有没有其他方法可以这样做?

感谢。

5 个答案:

答案 0 :(得分:5)

if ((int)$pageno >= 2) 

......应该这样做。

它实际上可以在不转换为整数(或使用intval函数)的情况下编写,因为PHP是弱类型语言。但我更喜欢这种形式,以更清楚地显示我在代码中的意图。事实上,我改变了这条线......

$pageno = $_GET['page'];

......对此:

$pageno = (int)$_GET['page'];

...继续进行直接数字比较(如$pageno === 1

答案 1 :(得分:0)

elseif($ pageno&gt; = 2)

简单,因为它可能是你在php.net上查看if的更多信息。

答案 2 :(得分:0)

尝试 -

elseif(intval($pageno, 10) >== 2)

您没有收到错误的原因是$pageno是一个字符串,'2'也是。{1}}。因此,当您尝试使用等于运算符比较它们时,它是有效的PHP。因此,'2''>2'或''&gt; = 2'进行比较,两者均为假。

答案 3 :(得分:0)

也许

elseif(intval($pageno) >= 2) {

会奏效。

答案 4 :(得分:0)

使用intval()功能投射$_GET['page'],如下所示:

$pageno = intval($_GET['page']);

然后您可以将$pageno作为整数进行比较。

if($pageno >= 2 )
{

...

}