@HeartOfProgrammer

Почему запрос не показывает новости на отдельной странице?

Делаю один проект, хотел сделать так, чтобы при клике на новость на главной странице index.php меня перекидывало на эту же новость, куда я кликнул только на другую страницу, и уже с другим описанием как бы.
Но при клике на заголовок новости на главной странице index.php меня перебрасывает на страницу news.php вместо того чтобы вывести ту новость на которую я кликнул, мне выводит все новости в базе данных MySQL.
Я предполагаю проблема в sql запросе, потому что я эти id уже путаю, news id и users id, голова кружится уже.

в файле news.php вот такой код:

$news = $_GET['id'];
	$mysqli = mysqli_connect('localhost', 'weltkind', '123321', 'wl_db');
	$sql = "SELECT 
		n.id AS news_id, 
		n.title AS title, 
		n.content AS content, 
		u.id AS user_id 
		FROM news n
		LEFT JOIN users u
		ON n.user_id = u.id
	";

	$query = mysqli_query($mysqli, $sql);
	while ($row = mysqli_fetch_assoc($query)) {
		echo '<div>';
		echo '<h1><a href="news.php?id='.$row['id'].'">'.$row['title'].'</a></h1>';
		echo '<p>'.$row['content'].'</p>';
		echo '</div>';
	}

Моя база данных и таблицы:
246e20cb845345b6b62b811c51cb7bb6.png
  • Вопрос задан
  • 209 просмотров
Решения вопроса 1
может так?)
$news = $_GET['id'];
  $mysqli = mysqli_connect('localhost', 'weltkind', '123321', 'wl_db');
  $sql = "SELECT 
    n.id AS news_id, 
    n.title AS title, 
    n.content AS content, 
    u.id AS user_id 
    FROM news n
    LEFT JOIN users u
    ON n.user_id = u.id
   WHERE n.id = $news LIMIT 1
  ";

  $query = mysqli_query($mysqli, $sql);
$row = array();
$row = mysqli_fetch_assoc($query);
    echo '<div>';
    echo '<h1><a href="news.php?id='.$row['news_id'].'">'.$row['title'].'</a></h1>';
    echo '<p>'.$row['content'].'</p>';
    echo '</div>';
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Writerim
@Writerim
Заполнить позже...
Вопрос не совсем понятен. Уточните какую проблему вы хотели бы решить.
Не верная переадрессация?
составить SQL запрос?
Ответ написан
@heartdevil
плыву как воздушный шарик
Здравствуйте.

Вот вы прочитали значение

$news = $_GET['id'];

но не используете его при фильтрации данных запросом sql.

Поэтому у вас список и вываливается.
Ответ написан
Комментировать
Если SQl запрос то добавь условие отбора по id (WHWRE id=$news)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы