У меня есть php-сайт блога с базой данных mysql. В этом блоге есть несколько уроков. Там есть таблица «уроки», в которой содержатся идентификатор, заголовок, текст урока и т. Д. Когда я показываю последние уроки на главной странице, он работает правильно.
подключиться к БД, как это:
<?php
$db = mysql_connect ("localhost", "root", "");
mysql_select_db("kursach", $db);
mysql_query("SET NAMES utf8");
$result = mysql_query ("SELECT title, meta_k, meta_d, text FROM settings
WHERE page='index' ", $db);
$myrow = mysql_fetch_array($result);
?>
и отобразить их с помощью цикла:
<?php
$result = mysql_query("SELECT id, title, date, description FROM lessons", $db);
$myrow = mysql_fetch_array($result);
do {
printf ("<div class='right-column-content'>
<div class='right-column-content-heading'>
<a href='lesson_view.php?%s'><h1>%s</h1></a>
<h2>%s </h2>
</div>
<div class='right-column-content-content'>
<p>%s</p>
<div class='button'><a href='lesson_view.php?%s' >Читати далі</a></div>
</div>
</div>", $myrow['id'], $myrow["title"], $myrow["date"], $myrow["description"], $myrow["id"]);
}
while($myrow = mysql_fetch_array($result))
?>
У меня также есть файл для полного содержания урока - lesson_view. PHP. Как вы можете видеть на приведенном выше коде, я отправить идентификатор урока ссылку на этот урок:
lesson_view.php?%s
$myrow["id"]
В lesson_view.php я подключиться к БД и получить идентификатор так:
<?php
$db = mysql_connect ("localhost", "root", "");
mysql_select_db("kursach", $db);
mysql_query("SET NAMES utf8");
if (isset($_GET['id'])) {$id = $_GET['id'];}
$result = mysql_query("SELECT * FROM lessons WHERE id = '$id' ", $db);
$myrow = mysql_fetch_array($result);
?>
И использовать этот код, чтобы отобразить данные:
<div class="right-column-content">
<div class="right-column-content-heading">
<h1><?php echo $myrow['title'] ?></h1>
<h2><?php echo $myrow['date'] ?> </h2>
<h2><?php echo $myrow['author'] ?> </h2>
</div>
<div class='right-column-content-content'>
<p><?php echo $myrow["text"] ?></p>
</div>
</div>
проблема заключается в том, когда я пытаюсь посмотреть полное содержание урока (для exaple, /lesson_view.php?1), он не отображает данные : нет названия, нет текста, ничего. Я пробовал этот запрос непосредственно в MySQL, и он работает, поэтому, возможно, есть некоторая ошибка в php-коде, который я не могу найти. Будем благодарны за любую помощь.
P.S. Я новичок на php.
Ваша логика if ошибочна, в lesson_view.php ваш запрос и выполнение запроса должны быть помещены внутри предложения if, потому что если ваш '$ id' не установлен в условии if, вы все равно получите« Уведомление неопределенное », потому что вы вызываете' $ id', который не задано. (И это, скорее всего, приведет к сбою вашего запроса). Кроме того, вы должны перейти от 'mysql' к' mysqli' или 'PDO' без причины, чтобы узнать устаревшие/плохие habbits с самого начала. – Epodax