Обучение/Помощь новичкам | Условие + rand()
Всё сделал, но вот не могу вывести данные ибо случайные id хранятся в таблице rand а пости в таблице data_status. Может кто знает как вывести данные объединив 2 таблицы?
php
<?php
// Подключение к базе данных MySQL
$servername = "localhost";
$username = "имя пользователя";
$password = "пароль";
$dbname = "база данных";
$conn = new mysqli($servername, $username, $password, $dbname);
// Проверка соединения
if ($conn->connect_error) {
die("Ошибка подключения: " . $conn->connect_error);
}
// Проверяем, была ли уже сгенерирована случайная статья сегодня
$lastUpdated = getLastUpdatedTime();
$currentDate = date('Y-m-d');
if ($lastUpdated !== $currentDate) {
// Генерируем новую случайную статью
$randomPost = generateRandomPost();
updateLastUpdatedTime($currentDate);
// Сохраняем случайную статью в базе данных
saveRandomPost($randomPost);
} else {
// Получаем сохраненную случайную статью из базы данных
$cachedPost = getCachedRandomPost();
$randomPost = $cachedPost['content'];
}
// Отображаем случайную статью
echo $randomPost;
// Функция для получения времени последнего обновления
function getLastUpdatedTime()
{
global $conn;
$sql = "SELECT last_updated FROM random_posts ORDER BY id DESC LIMIT 1";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
return $row['last_updated'];
}
return null;
}
//генерации случайной статьи
function generateRandomPost()
{
global $conn;
$sql = "SELECT * FROM posts ORDER BY RAND() LIMIT 1";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
$title = $row['title'];
$content = $row['content'];
$post = "Заголовок: " . $title . "<br>";
$post .= "Содержимое: " . $content;
return $post;
}
return null;
}
//обновления времени последнего обновления
function updateLastUpdatedTime($date)
{
global $conn;
$sql = "INSERT INTO random_posts (last_updated) VALUES ('$date')";
$conn->query($sql);
}
// Функция для сохранения случайной статьи в базе данных
function saveRandomPost($post)
{
global $conn;
$post = $conn->real_escape_string($post);
$sql = "INSERT INTO random_posts (content) VALUES ('$post')";
$conn->query($sql);
}
// Функция для получения сохраненной случайной статьи
function getCachedRandomPost()
{
global $conn;
$sql = "SELECT content FROM random_posts ORDER BY id DESC LIMIT 1";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
return $row;
}
return null;
}
?>Стр.: 1, 2