Перейти к содержимому


Похожие новости


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 27

#21 zefein

zefein

    Активный участник

  • Пользователи
  • PipPipPip
  • 195 сообщений
  • Пол:Мужчина
  • Город:Минск, Беларусь
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 27 February 2011 - 21:56

Просмотр сообщенияСнеговик (27.2.2011, 17:37) писал:

1 что вы должны сделать конкретезировать  массивы. а имменно поменяйте имя массива  в похожих новостях.
2 сделать генерацию похожих новостей внутри этого массива а потом уже вставлять в нужное место
я попробую переделать и потом сюда отпишу, только вот про генерацию похожих новостей внутри массива я не понял

#22 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 27 February 2011 - 22:00

 $query2 = $DB->query( "SELECT id, titolo, data FROM mkp_news WHERE keywords = '$taggs' ORDER BY 'data' DESC LIMIT 5");
	while( $rowp = $DB->fetch_row($query2)) {
	$analogid = $rowp['id'];
	$analogtitolo = $rowp['titolo'];

$pnews .=" название $analogtitolo ";
	}

вот пример  а переменную $pnews вставиш туда где вывести надо

#23 zefein

zefein

    Активный участник

  • Пользователи
  • PipPipPip
  • 195 сообщений
  • Пол:Мужчина
  • Город:Минск, Беларусь
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 04 March 2011 - 01:05

Спасибо Снеговик))) как всегда помог))))
Использовал я следующую конструкцию:
	$query2 = $DB->query( "SELECT id, titolo, data FROM mkp_news WHERE keywords = '$taggs' AND id NOT IN ('{$row['id']}') ORDER BY RAND() DESC LIMIT 5");
	while( $rowp = $DB->fetch_row($query2)) {
	$analogid = $rowp['id'];
	$analogtitolo = $rowp['titolo'];

	$pnews .="
	<a href=\"index.php?ind=news&op=news_show_single&ide=$analogid\">$analogtitolo</a><br>";
	}
Ну и вывод:
							<tr>
							<td align=\"left\"><b>Похожие новости:</b> <br>
							$pnews</td>
							<td align=\"right\"></td>
							</tr>
Выводит пять случайных похожих новостей.

Подскажите только как добавить, чтобы при отсутствии похожих новостей выводило текст: похожие новости не найдены.

Сообщение отредактировал zefein: 04 March 2011 - 02:06


#24 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 04 March 2011 - 11:39

$query2 = $DB->query( "SELECT id, titolo, data FROM mkp_news WHERE keywords = '$taggs' AND id NOT IN ('{$row['id']}') ORDER BY RAND() DESC LIMIT 5");
	while( $rowp = $DB->fetch_row($query2)) {
	$analogid = $rowp['id'];
	$analogtitolo = $rowp['titolo'];
if(!$analogid) {
	$pnews .="
	<a href=\"index.php?ind=news&op=news_show_single&ide=$analogid\">$analogtitolo</a><br>";
}
else
{
$pnews .="
	Тютю новостей"; }
	}


#25 zefein

zefein

    Активный участник

  • Пользователи
  • PipPipPip
  • 195 сообщений
  • Пол:Мужчина
  • Город:Минск, Беларусь
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 04 March 2011 - 22:02

Скорее так надо (при первом варианте выводит 5 надписей похожие новости не неайдены):
	$query2 = $DB->query( "SELECT id, titolo, data FROM mkp_news WHERE keywords = '$taggs' AND id NOT IN ('{$row['id']}') ORDER BY RAND() DESC LIMIT 5");
	while( $rowp = $DB->fetch_row($query2)) {
	$analogid = $rowp['id'];
	$analogtitolo = $rowp['titolo'];
if(!$analogid) {
	$pnews .="
	Похожие новости не найдены";
 }
else
{
$pnews .="
		<a href=\"index.php?ind=news&op=news_show_single&ide=$analogid\">$analogtitolo</a><br>";
	 }
	}
только вот не выводит надпись все равно

#26 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 04 March 2011 - 22:20

$query2 = $DB->query( "SELECT id, titolo, data FROM mkp_news WHERE keywords = '$taggs' AND id NOT IN ('{$row['id']}') ORDER BY RAND() DESC LIMIT 5");
	while( $rowp = $DB->fetch_row($query2)) {
	$analogid = $rowp['id'];
	$analogtitolo = $rowp['titolo'];
if(empty($analogid)) {
	$pnews .="
	<a href=\"index.php?ind=news&op=news_show_single&ide=$analogid\">$analogtitolo</a><br>";
}
else
{
$pnews .="
	Тютю новостей"; }
	}


#27 zefein

zefein

    Активный участник

  • Пользователи
  • PipPipPip
  • 195 сообщений
  • Пол:Мужчина
  • Город:Минск, Беларусь
  • Форум:IPB 3.2, IPB 3.1
  • Версия MKP:R1.0.2, R1.0.1

Отправлено 04 March 2011 - 22:26

не помогло, еще и так пробовал:
	$query2 = $DB->query( "SELECT id, titolo, data FROM mkp_news WHERE keywords = '$taggs' AND id NOT IN ('{$row['id']}') ORDER BY RAND() DESC LIMIT 5");
	$analogcountrows =$DB->get_num_rows($query2);
	while( $rowp = $DB->fetch_row($query2)) {
	$analogid = $rowp['id'];
	$analogtitolo = $rowp['titolo'];
if($analogcountrows  <= 0) {
$pnews .="
	Похожие новости не найдены";
}
else
{
$pnews .="
		<a href=\"index.php?ind=news&op=news_show_single&ide=$analogid\">$analogtitolo</a><br>";	
	 }
	}

и тут проблема такая: если выставлю число 5, то конструкция работает, т.е. выводит 5 раз "похожие новости не найдены" а вот если впишу то что сечас, то не выводит одноименную фразу

#28 Снеговик

Снеговик

    Активный участник

  • Модераторы
  • PipPipPip
  • 1679 сообщений
  • Пол:Мужчина
  • Форум:IPB 2.3.x
  • Версия MKP:C1.2.2 R0.0.2

Отправлено 05 March 2011 - 12:30

 $query2 = $DB->query( "SELECT id, titolo, data FROM mkp_news WHERE keywords = '$taggs' AND id NOT IN ('{$row['id']}') ORDER BY RAND() DESC LIMIT 5");
	$analogcountrows =$DB->get_num_rows($query2);
if(!$analogcountrows) {
$pnews .="
	Похожие новости не найдены";
}
else
{

	while( $rowp = $DB->fetch_row($query2)) {
	$analogid = $rowp['id'];
	$analogtitolo = $rowp['titolo'];

$pnews .="
		<a href=\"index.php?ind=news&op=news_show_single&ide=$analogid\">$analogtitolo</a><br>";	
	 }
	}





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных