|
Поочерёдный показ текста по списку из базы данных в строгом порядке
#38618747
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
|
|
|
|
Доброго времени суток. Может быть кто знает как сделать Поочерёдный показ текста по списку из базы данных в строгом порядке?
Тоесть, человек переходит на любой файл php и у него появляется текст1 . В базу данных временно добавляется инфа что этот текст просмотрен. И при следующем открытии файла показывается текс2 . Эти тексты берутся из базы данных. И когда база данных заканчивается круг начинается заново с текста1
Желательно внедрить в этот код:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81.
<?php
//Чтоб не пропустить нотисы и ошибки
error_reporting(E_ALL);
//Укажем кодировку страницы
header("Content-type: text/html; charset=utf-8");
//Необходимо указать данные для подключения к серверу БД,
//это можно сделать с помощью переменных (или констант), объявим 4 переменные
$host = "localhost"; //Сервер БД
$user = ""; //Имя пользователя, он по умолчанию "root"
$password = ""; //Пароль для пользователя, по умолчанию он пустой
$db = ""; // Имя БД, с которой мы будем работать
//Для подключения к серверу MySQL в php есть функция mysql_connect()
//Синтаксис этой функции прост: mysql_connect(сервер, имя пользователя, пароль пользователя);
//Создадим переменную $link, которая будет содержать идентификатор нашего подключения к серверу БД
$link = mysql_connect($host, $user, $password);
//Выставим кодировку
mysql_query ("SET NAMES utf8");
//Далее необходимо выбрать БД, с которой мы будем работать, но перед этим мы проверим, действительно мы подключились к серверу БД
if($link) //идентично if($link === true), т.е. подключение прошло
$select_db = mysql_select_db($db);
//Чтобы дальше работать, необходимо проверить, выбрана ли наша БД
if(!$select_db) //Если БД не выбрана
echo "Ошибка выбора БД";
else //Если БД выбрана, продолжаем
{
//Итак, в самом начале статьи мы создали таблицу в нашей базе с помощью SQL - запроса
//Так и здесь, работая с БД мы всегда будем использовать SQL-запросы
//Для выбора данных из БД используется команда "SELECT" - выбрать
//Далее идёт * - она говорит, что выбирать мы будем "Всё", т.е. все столбцы (можно и указать отдельный столбец, например `name`, но об этом ещё рано)
//FROM `mytable` - далее мы указываем таблицу, данные которой мы будем выбирать.
//Обратите внимание, что имена столбцов и таблиц - мы обрамляем обратными апострофами `` (Ё - анг. раскладке)
$sql = "SELECT * FROM `posts` where `post_status` = 'publish'";
//Далее необходимо отправить этот запрос серверу БД
//Для этого есть штатная функция mysql_query(запрос, идентификатор подключения)
//Но так как подключение у нас одно, значит "идентификатор подключения", мы можем опустить
$query = mysql_query($sql);
//В данном примере мы конечно знаем, что данные в БД есть, но на приктике - необходимо проверить наличие
// этих данных, достаточно просто подсчитать кол-во строк в таблице
if(!mysql_num_rows($query))
echo "В таблице нет данных!";
else
{
// Запрос отправлен, тепер нам необходимо получить выбранные данные которые вернул сервер
// Для этого в php есть 2 функции: mysql_fetch_array() и mysql_fetch_assoc()
// mysql_fetch_array() - - нам не подходит, т.к. в результате её работы возвращается два вида массива, один "простой" второй "ассоциативный",
// в итоге мы получаем избыточные данные, что нам ни к чему."
// mysql_fetch_assoc - вернёт нам только асициотивный массив
// Нам нужны данные в виде асициот. массива (ключи таого массива будут содержать имена столбцов таблиц)
// Исходя из этого, мы ест-но воспользуемся mysql_fetch_assoc(), зачем нам тратить ресурсы сервера на индексный массив
// Тепер нам нужно сформировать массив, куда мы поместим данные которые вернул сервер после нашего запроса $query
// Так как в нашей таблице несколько строчек, для этого используем цикл while(), и в цикле наполним массив
while($row = mysql_fetch_assoc($query)) //Будем писать в массив данные, пока есть строчки в таблице
{
//И вот на конец мы можем вывести все данные из БД
echo 'id:' . $row['ID'] . '' . $row['guid'] . '
';
//Раскомментируйте, чтобы посмотреть ввиде массива
#echo '<pre>' . print_r($row, 1) . '</pre>';
}
}
}
//Закрыли соединение
mysql_close($link);
?>
Буду очень благодарен за помощь!! Заранее спасибо! =)
|
|
|