Задать вопрос
@vasiliy-zutuf

Как по-проще вывести похожие страницы на статичном сайте?

Хочу на статичном сайте вывести похожие страницы, т.е. ссылки на другие страницы этой группы без ссылки на текущую страницу.
У страниц есть числовой $id.
Например, сделаю группы значений $id с соответствующими названиями (возможно не правильно):

$group1 = array(1 => морковка,5 => капуста,7 => картошка)
$group2 = array(100 => собака,200 => кошка,300 => мышка)
$group3 = array(1000 => клавиатура,2000 => системник,3000 => монитор)

И, если $id страницы равно одному числу из скобок, Например, если текущий $id = 5 ($group1), то

$похожие-страницы = (<а href="page.php?id=1">морковка< /а>, <а href="page.php?id=7">картошка< /а>)

Прошу готовый код, если не затруднит.
  • Вопрос задан
  • 131 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@MrTimon
хорошо бы сделать $group1, $group2 ... $groupN тоже массивом. и тогда простым перебором. Допустим имеем

$groups[] = array(1 => 'морковка',5 => 'капуста',7 => 'картошка');
$groups[] = array(100 => 'собака',200 => 'кошка',300 => 'мышка');
$groups[] = array(1000 => 'клавиатура',2000 => 'системник',3000 => 'монитор');
...
$groups[] = array(10000 => 'лаванда',20000 => 'ромашка',30000 => 'роза');
$id = 300;

		foreach($groups as $group) {
			if (array_key_exists($id,$group)) {
				$similar_pages = '';
				foreach ($group as $key=>$item) {
					if ($key == $id ) continue;
					$similar_pages .= sprintf('<а href="page.php?id=%d">%s< /а> ', $key, $item);
				}
				break;
			}
		}

		print ($similar_pages);
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
можно так:
$groups = [
  [1 => морковка,5 => капуста,7 => картошка],
  [100 => собака,200 => кошка,300 => мышка],
  [1000 => клавиатура,2000 => системник,3000 => монитор],
];

$id = 5; // текущий id

foreach($groups as $group) { // перебираем все группы
    if (isset($group[$id])) { // если в группе естьб эл-т с индексом = id текущей страницы, значит нашли группу
       foreach($group as $sid->title) { // перебираем все ссылки из группы
          if ($id!=$sid) { // если id эл-та не равно id текущей страницы, выводим ссылку
               echo '<a href="page.php?id='.$sid.'">'.htmlspecialchars($title).'</a><br>';
          }
       }
       break; // прерываем дальнейшие проверки, т.к. уже нашли группу
    }
}
Ответ написан
kpa6uu
@kpa6uu
Программист Талибана [Пыхерский Алибаба]
во наглёж
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы