如果有另一行

时间:2013-11-26 14:39:19

标签: php if-statement

我正在尝试编写一个if语句来检查它们是否是数据库中当前行之后的另一行。当前的一个是页面的id

<?php if($new_id>id): ?>
yes
<?php else: ?>
no
<?php endif; ?>

$new_id是所选页面。所以,如果他们是一个后面的条目,它会说是,或者如果它是最近的添加它会说不。

我知道如何在select语句中执行此操作:WHERE id>$new_id 这告诉我后面是否有另一行,但我不知道如何将其写成IF语句。

1 个答案:

答案 0 :(得分:0)

假设您有一个使用MySQL自动递增post字段的id表:

CREATE TABLE post (
   id       INT NOT NULL AUTO_INCREMENT,
   ...
   PRIMARY KEY ( id )
);

你可以使用这样的东西(伪php):

<?php
  // somehow you calculate the current id
  $the_id = your_get_the_id_func();

  // then execute this sql row with your favourite sql library
  // and get the returned single value which may be the stings '0' or '1'
  $has_newer_post = your_exec_sql_and_get_sql_value("
    SELECT EXISTS ( SELECT 1 FROM post WHERE id > $the_id LIMIT 1 );
  ");
?>

<?php
  // if('0') === if(false) only in php: http://codepad.org/IlUx8J1Y
  if( $has_newer_post ) :
?>
  yes
<?php else: ?>
  no
<?php endif; ?>