Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/40: Рейтинг темы: голосов - 40, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 04.07.2016
Сообщений: 58
Записей в блоге: 2

Вывод и создание постов на php

11.02.2017, 16:54. Показов 8605. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!Возник у меня такой вопрос: "Как создать структуру файлов точнее файл который создавал бы записи и показывал их от кого.Я уже создал БД где есть таблица users.А также такие файлы как index.php(чтобы войти в свой акаунт),sign_up.php(чтобы зарагестрироваться),save_user.php(чтобы сохранить и обработать данные пользователя с sign_up.php) и login.php(файл который обрабатывает вход на сайт).Все суперово работает но вот я незнаю как создать штуку которая создавала бы посты,выводила их и показывала от кого они.Я как сказать уже создавал похожую штуку только вот там не показывалось от кого посты.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.02.2017, 16:54
Ответы с готовыми решениями:

Вывод постов с конца
Здравствуйте,есть php код который выводит данные из бд,но он выводит с 1,подскажите пожалуйста,как сделать так что бы он выводил с...

Вывод нужного id для постов
Здравствуйте, как возможно получить id для нужной, ссылки? Для таблицы events и blog. Вот , что сделал. Я так понимаю наверно через...

Автоматический вывод постов на блог пользователями через тег form
Здравствуйте! В файле index.php есть тег формы "Ваше имя" , "Ваше сообщение" и "Отправить" необходимо чтобы неавторизированный...

6
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
11.02.2017, 19:06
При сохранении поста пишите вместе с ним в таблицу id авторизованного пользователя.

А для вывода постов используйте запрос к таблице постов с присоединением таблицы юзеров по id, тогда в выборку будут добавляться имена авторов и проч. лабуда про них.
1
3 / 3 / 1
Регистрация: 24.01.2017
Сообщений: 17
18.02.2017, 14:04
для начала создадим таблицу в которую будем записывать передаваемые данные, назовём её к примеру `posts`
Таблица

MySQL
1
2
3
4
5
6
7
8
CREATE TABLE IF NOT EXISTS `posts` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userId` int(11) NOT NULL COMMENT 'ID ОТПРАВИТЕЛЯ',
  `message` text NOT NULL COMMENT 'СООБЩЕНИЕ ОТПРАВИТЕЛЯ',
  `time` int(11) NOT NULL  COMMENT 'ВРЕМЯ ОТПРАВЛЕНИЯ',
  PRIMARY KEY (`id`),
    KEY `userId` (`userId`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251;

теперь создадим файл posts.php и поместим в него следующий код
Код

PHP
1
2
3
4
5
6
7
8
if (isset ( $_POST['message'] ))
{
    $mess = mysql_real_escape_string($_POST['message']);
    $id = $user['id']; // id пользователя который отправляет сообщение
    mysql_query("INSERT INTO `posts` SET `userId` = '{$id}', `message` = '{$mess}', `time` = '" . time() ."'");
    header('Location posts.php');
}
?>
HTML5
1
2
3
4
<form action="posts.php" method="POST">
    <textarea name="message"></textarea><br />
    <input type="submit" value="Отправить сообщение" />
</form><br />
PHP
1
2
3
4
5
6
7
8
9
10
<?
$count = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `posts`"), 0);
echo 'Всего постов: ' , $count , '<br />';
$query = mysql_query("SELECT * FROM `posts` ORDER BY `time` DESC LIMIT");
while ($row = mysql_fetch_array($query)) {
    $usr = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '{$row['userId']}' LIMIT 1"));
    echo "От: {$usr['login']}<br />" . PHP_EOL; // логин пользователя от которого было отправлено сообщение
    echo htmlspecialchars($row['mess']) . '<br />' . PHP_EOL; // сообщение
    echo date('H:i:s', $row['time']) . '<hr />' . PHP_EOL; // дата отправления
}

проверяй.
1
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
18.02.2017, 14:53
SQL
1
`time` INT(11) NOT NULL  COMMENT 'ВРЕМЯ ОТПРАВЛЕНИЯ',
Лучше
SQL
1
`time` INT(11) TIMESTAMP DEFAULT CURRENT_TIMESTAMP  COMMENT 'ВРЕМЯ ОТПРАВЛЕНИЯ',
И время создание будет подставляться автоматически.
1
0 / 0 / 0
Регистрация: 04.07.2016
Сообщений: 58
Записей в блоге: 2
21.02.2017, 17:28  [ТС]
Ребят,большое спасибо))Все суперово работает,только у меня остался ещё один вопрос,как сделать систему удаления постов?)
0
Особый статус
 Аватар для FloppyDisc
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
21.02.2017, 22:00
Цитата Сообщение от Monster456 Посмотреть сообщение
как сделать систему удаления постов?
точно так же, как и добавление
PHP
1
2
3
4
5
6
if (isset ( $_POST['delete'] ))
{
    $id = (int)$_GET['id']; // id поста, который нужно удалить
    mysql_query("DELETE FROM `posts` WHERE `id` = '{$id}'");
    header('Location posts.php');
}
1
3 / 3 / 1
Регистрация: 24.01.2017
Сообщений: 17
24.02.2017, 10:02
Удаление сообщения

PHP
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
<?php
if ( isset ( $_GET['del'] ) )
{
    $id = (int) $_GET['id']; // id удаляемого сообщения
    $post = mysql_fetch_array(mysql_query("SELECT * FROM `posts` WHERE `id` = '{$id}' LIMIT 1"));
    // если сообщение не найдено в базе данных то выводим ошибку
    if (!$post)
    {
        die('Извините! Сообщение не найдено');
    } else {
        mysql_query("DELETE FROM `posts` WHERE `id` = '{$id}'"); // удаляем нужное сообщение
        header('Location: posts.php');
    }
}
 
$count = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `posts`"), 0);
echo 'Всего постов: ' , $count , '<br />';
$query = mysql_query("SELECT * FROM `posts` ORDER BY `time` DESC LIMIT");
while ($row = mysql_fetch_array($query)) {
    $usr = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '{$row['userId']}' LIMIT 1"));
    echo "От: {$usr['login']}&nbsp;" . PHP_EOL; // логин пользователя от которого было отправлено
    echo "[<a href='?del={$row['id']}'><span style='color:red'><b>Удл</b></span></a>]<br />"; // ссылка на удаление поста
    echo htmlspecialchars($row['mess']) . '<br />' . PHP_EOL; // сообщение
    echo date('H:i:s', $row['time']) . '<hr />' . PHP_EOL; // дата отправления
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.02.2017, 10:02
Помогаю со студенческими работами здесь

Вывод постов в обратном порядке + счет постов
Всем привет! Нужно сделать следующее: вывести все посты на главной в обратно порядке. То есть, от старых к новым. Надо чтобы все...

Рандомный вывод постов и вывод закрепленных
Всем привет! Уже который день ломаю голову по поводу вывода постов в wordpress (может зря ломаю, и в этой чудесной cms это никак нельзя...

Создание массива php и вывод из mql
Народ подскажите в чем косяк, нужно в итоге получить переменную для дальнейшего вывода такого вида: $top_10_gift1='&lt;img ...

Автоматическое создание PHP страниц в БД, и их вывод
Я хочу реализовать такую систему, как например в ВК, или одноклассниках. Как можно при отправлении формы, создать в БД страницу на пример...

Вывод постов
Добрый день! Уважаемые формучане, помогите пожалуйста как в теме twenty twelve сделать вот такой вывод постов как тут ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru