2013-11-26 7 views
-2

Я пытаюсь написать оператор if, чтобы проверить, является ли их еще одна строка после текущей в базе данных. Если текущий - id страницы.Если есть еще одна строка

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

$new_id - это выбранная страница. так что если их запись после него скажет «да», или если это последнее добавление, то скажет «нет».

Я знаю, как это сделать в операторе select: WHERE id>$new_id Это говорит мне, есть ли после него другая строка, но я не знаю, как записать ее в качестве оператора IF.

+0

OFF: Не 'их is' но «есть». :) – biziclop

+0

поможет узнать, какую систему и драйвер вы используете ... без нее - невозможно определить – codeling

+0

'select id from yourtable, где id> $ nw_id' и' if (mysql_num_rows ($ result)> 0) {есть more ids} ' –

ответ

0

Предполагая, что у вас есть post таблицу с полем автоинкрементом id с использованием MySQL:

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; ?> 
Смежные вопросы