siv1987

siv1987
Рейтинг
427
Регистрация
02.04.2009

Паттерн значит не подходит, или составлен не верно.

ivmas:
Всем известно, что компания гугл создала микроразметку для снипетов

Вообще-то все не совсем так. Гугл, яху и бинг разрабатывают свою разметку описанную в schema.org. Но учитывает он и микроразметку других форматов которых он не "создавал" - это microformats, RDF (пока что еще)

ivmas:
Тот вариант, который предлагаю я, универсальный или есть другие варианты?

Универсальный на ряду с другими вариантами. ТС, читайте документацию, справочники, и для вас многое станет ясно.

Все же есть один недочет, действительно с 6 по 9 список будет неправильно формироваться если новостей больше чем 9

правильнее так


$id = intval( $_GET['id'] );

$prv = 4;
$nxt = 4;
$_max = 0;

$min = $id - $prv;
if( $min <= 0 )
{
$_max = abs( $min )+1;
$min = 1;
}

$max = $id + $nxt + $_max;
if( $max > $max_posts )
{
if( $min > 1 )
{
$min = $min - ( $max- $max_posts );
$min = ($min) ? $min : 1;
}

$max = $max_posts;
}

echo "min: {$min}<br />max: {$max}"

for( $i=$min; $i<= $max; $i++ )
{
//как-то так
}
ivmas:
Что значит расширенный снипет?

Лол. rich snippets

perevezenzev:
а должно быть min: 4 max: 10
perevezenzev:
Всегда на странице должно быть 9 записей, вот главная суть.

Где тут 10-4 девять записей?

При вводе любой цифры меньше 9, у вас не может быть другого списка как 1-9 согласно условию.

Кстати, мой $max_posts == вашему $post_max


$id = intval( $_GET['id'] );

if( $id > 9 AND $max_posts > 9 )
{
$prv = 4;
$nxt = 4;

$min = $id - $prv;
$max = $id + $nxt;
if( $max > $max_posts )
{
$_t = $max_posts - $max;
$min = $min - $_t;
$min = ($min) ? $min : 1;
}
}
else
{
$min = 1;
$max = ($max_posts < 9) ? $max_posts : 9;
}

echo "min: {$min}<br />max: {$max}";

for( $i=$min; $i< $max; $i++ )
{
//как-то так
}
perevezenzev:

$post_max = mysql_num_rows(mysql_query("SELECT * FROM news"));
if ($id > $post_max){ exit('Таких записей нет'); }

Кстати, не совсем верное утверждение. Максимальный $id не обязательно должен быть равен общему количеству новостей в базе. У меня может быть новости с id 15 при их общем количестве в таблице 5. Да вообще это лол, для подсчета записей нужно юзать SELECT COUNT(*)

perevezenzev:
Надеюсь мысль ясна.

Не очень ясна. Почему при id1 должны выйти такие цифры (9), а при id8 другие (7)?

Следуя вашей логике, при id1 должно быть 1 > 2,3,4,5

При id5 1,2,3,4 < 5 > 6,7,8,9

При id8 4,5,6,7 < 8 > 9,10[,11,12]

Никак не будут кешировать, такая информация в кэш поисковика не попадает.

Тег img, где ссылка с атрибутами без кавычек - битый, не хватает закрывающей скобки >

Всего: 6568