@libera

Не выводит по $_GET['id']?

<?php
include "config.php";
$id = isset($_GET['id']) ? (int) $_GET['id'] : 0; 
$res = mysql_query('SELECT * FROM `news` WHERE `id` = ' . $id);
mysql_select_db($dbname) || die('Нет базы');
$row = mysql_fetch_array($res);
echo '<div>' .$row['text']. '</div>';
?>

Вод код. (в news.php)
Но не выводит сам код.
в index.php
Сделал переход по ссылки.
<a href=news.php/id=%s.html>Подробнее</a>
Но когда перехожу на страницу просто белый экран, почему я не знаю.
  • Вопрос задан
  • 387 просмотров
Пригласить эксперта
Ответы на вопрос 4
А разве ссылка не должна быть вида
<a href=news.php?id=1>Подробнее</a>
Либо так сделать, чтобы переменная появилась в $_GET, либо настроить htaccess, чтобы было преобразование.
Ответ написан
Комментировать
tvolf
@tvolf
Тут еще (кроме неясностей со ссылкой) вопрос, почему mysql_select_db() вызывается _после_ mysql_query() ?
То есть, по логике сначала выбираем базу данных, к которой будет выполняться запрос, а потом уже делаем запрос к таблицам в ней.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
ну, для начала, видимо, ссылка такая "прямая"... %s
Ответ написан
Комментировать
RomaZveR
@RomaZveR
CEO AlertMoney, PHP/Golang Developer
<?php
include "config.php";
$id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? (int) $_GET['id'] : 0; 
mysql_select_db($dbname) or die('Нет базы');
$res = mysql_query('SELECT * FROM `news` WHERE `id` = '.$id.' ');

while ($row = mysql_fetch_array($res, MYSQL_ASSOC))
{
    echo '<div>' .$row["text"]. '</div>';
}

?>


<a href="news.php?id=1">Подробнее</a>
P.S Не забывай данные валидировать.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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