Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257

Статьи через php и базы данных

13.10.2012, 20:23. Показов 5912. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Я вот посмотрел на сайтах и увидел, что менюшки ссылаются на такие вот ссылки:
http://www.XXX.XXX/index.php?o... Itemid=XXX
Как сделать такую же вещь? Может кто-нибудь скинуть ссылку на видеоурок, или описать всё это дело?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.10.2012, 20:23
Ответы с готовыми решениями:

Запрос к атрибутам базы данных через PHP
Доброго времени суток,не могу разобраться в чем дело, а начну с того что есть база данных(если ее можно так назвать)в phpmyadin-e которая...

Создание Бэкапа базы данных через php
Здравствуйте :) Есть скрипт создания бэкапа $name=date('d-m-Y'); exec('mysqldump -uroot -p Plan > /dump/'.$name.'.sql'); echo...

Добавление данных в таблицы базы через php страницу
Есть база данных, как через сайт сделать заполнение таблиц таким образом, чтобы в, например, дроп дауне выбирать столбец необходимой...

24
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 20:32
А что именно не понятно?
Создаёте таблицу, в кажддой строке хранится заголовок статьи, ид автора, дата создания, текст статьи...что там вам ещё нужно...
В ссылке передаёте id статьи.
А при выводе статьи, просто подставляете этот id в запрос,в условие выбора строки из базы, выбираете строку со статьёй и выводите её.


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$article = isset($_GET['artice']) ? (int)$_GET['artice'] : 0;
if ($article < 0)
{
    // ошибка, такой id быть не может
    header('Location: index.php');
    exit();
}
 
$sql = 'SELECT * FROM `articles` WHERE `id` = ' . $article;
$res = mysql_query($sql);
if (!$res || mysql_num_rows($res) != 1)
{
    // ошибка запроса или статья не найдена
    header('Location: index.php');
    exit();
}
 
$row = mysql_fetch_assoc($res);
// в переменной $row у вас строка со статьёй из базы.
как то так
0
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
13.10.2012, 20:45  [ТС]
DrobyshevAlex, дело в том, что я наткнулся на кучу проблем.
Проблема 1. Для форума своего сайта я юзал phpbb. Теперь хочу эти же логины и пароли юзать у себя на сайте. Пишу что-то вроде этого:
PHP
1
2
3
4
5
6
7
8
9
<?php session_start(); ?>
...
<?php
                if (empty($_SESSION['username']) or empty($_SESSION['user_id'])) {      
                    echo "Hello, <a href=\"profile.php\" class=\"refer\">".$_SESSION['username'],"</a>    <a href=\"../php/lout.php\" class=\"sub\">Logout</a>";    
                }    
                else {
                    тут ещё чего то             }
            ?>
таблица базы данных находится в базе tempsite и называется phpbb_users.

Проблема 2. Что же мне писать вместо ссылки и как назвать таблицу? com_content что-ли?
Проблема 3. Я также хочу установить что-то вроде блога, но хочу чтобы логины и пароли с phpbb совпадали? Не перокомендует ли кто-нибудь обобщённый CMS?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 20:56
1) Не понял в чём проблема?) Ну подключайтесь к базе пхпбб и юзайте.

2) Пишите вместо ссылки, ссылку на вашу страничку Которая будет выводить статьи. А таблицу... да как угодно назовите, не обязательно что бы таблица статей вообще была в этой же базе даже.

С пхпбб не когда не работал, по этому сказать есть ли готовое под него не могу. Но написать отдельно сайт, с блогами и статьями, но что бы авторизация проходила по базе с пхпбб - не вижу проблем. Просто не создавайте табличку для юзеров, тем проще, она уже у вас готовая
0
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
13.10.2012, 21:04  [ТС]
DrobyshevAlex, я создал базу данных tempsite и в ней уже таблички от phpbb создались.

Вот к примеру http://www.tempsite.loc/index.... 1&Itemid=2
и как оно работает? Ссылка вот ссылает на это. Писать просто a href="/index.php?option=com_content&view=articl e&id=1&Itemid=2" и всё? И как же он таблицу распознаёт?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 21:08
Я по поводу встраивания в phpbb не подскажу.

Я могу подсказать только если вы сами пишите класс с нуля или с помощью фреймворка Но с cms я не работал, ни разу под cms не писал.
Подождите ответов тех, кто с phpbb знаком
0
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
13.10.2012, 21:27  [ТС]
Так я вот эту вставку с новостями пишу с нуля.
Есть менюшка <ul> <li><a href="эта вот ссылка"></a></li> и т.п. </ul>
эта менюшка у меня на левой колонке. Теперь кликнув на ссылку хочу чтобы в контексте появилась инфа. А ссылка имела тот вид что я показывал. Как это реализовать?
Имя базы tempsite. Имя таблицы назову temp_news. В табличке будет id статьи, текст статьи, автора писать не буду, так как это не новость, а просто допустим страничка О нас. А что делать дальше? И что ещё делать если в статье хочу изображения держать.
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 21:35
Цитата Сообщение от AvengerAlive Посмотреть сообщение
Так я вот эту вставку с новостями пишу с нуля.
То есть это отдельный скрипт, не как не связанный с форумом?
У него своя страничка index.php? У него свой шаблон?


Цитата Сообщение от AvengerAlive Посмотреть сообщение
И что ещё делать если в статье хочу изображения держать.
А тут уже по разному можно.
Если только одно изображение для одной сттаьи, то можно просто имя файлу давать по ID статьи.
То етсь для стаьи с ID = 1 файлик будет http://site.ru/images/articles/1.jpg
А можно завести отдельно табличку,и все файлики туда кидать, а потом вставлять либо прям в текст статиь специальными тегами, типа Вложение 1 или прям тегом картинки <img src="https://www.cyberforum.ru/php-database/...
или ббкодом катринки [img]...[/img]
или сделать связанную табличку, для связи статьи и картинок, но тогда не будет возможности расположить картинку в нужном месте статьи.

Вариантов миллион
0
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
13.10.2012, 21:59  [ТС]
Есть index.php
Я сделал по простому для теста. Левый колон и контент. В левом меню в столбик. Без CSS пока. Тестирую эту вещь. Создал таблицу temp_news. Сделал там id и article. В txt документе у меня есть статья. Что дальше?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 22:10
То етс у вас таблица temp_news что то типа

SQL
1
2
3
4
5
CREATE TABLE `temp_news` (                              
            `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,       
            `article` text,                    
            PRIMARY KEY (`id`)                                   
          ) DEFAULT CHARSET=utf8;
Если да, то вы просто внесите текст статьи из файлика в поле article таблицы.

Скрипт вывода будет примерно такой
файлик article.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$article = isset($_GET['artice']) ? (int)$_GET['artice'] : 0;
if ($article < 0)
{
    // ошибка, такой id быть не может
    header('Location: index.php');
    exit();
}
 
$sql = 'SELECT * FROM `temp_news` WHERE `id` = ' . $article;
$res = mysql_query($sql);
if (!$res || mysql_num_rows($res) != 1)
{
    // ошибка запроса или статья не найдена
    header('Location: index.php');
    exit();
}
 
$row = mysql_fetch_assoc($res);
// в переменной $row у вас строка со статьёй из базы.
 
// выводим текст статьи.
echo $row['article'];
Ссылка вида http://site.ru/article.php?article=1
То есть где 1, это id статьи которую нужно вывести.
Можно инклудить этот файл в страницу index.php, но не видя кода, сложно сказать как.

Вы можете строки
PHP
1
2
3
4
5
6
7
$article = isset($_GET['artice']) ? (int)$_GET['artice'] : 0;
if ($article < 0)
{
    // ошибка, такой id быть не может
    header('Location: index.php');
    exit();
}
убарть из article.php
и в файле index.php Добавить что то типа
PHP
1
2
3
4
5
$article = isset($_GET['artice']) ? (int)$_GET['artice'] : 0;
if ($article > 0)
{
    require_once "article.php";
}
0
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
13.10.2012, 22:21  [ТС]
DrobyshevAlex, а если я введу ссылочку http://site.ru/article.php?article=1 у меня же меню исчезнет, нет?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 22:24
Ну так я вам напсиал что можно встроить в ваш index.php.
Тогда ссылка будет http://site.ru/index.php?article=1
0
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
13.10.2012, 22:43  [ТС]
не работает. вот код:

index.php

HTML5
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
<!DOCTYPE HTML>
 
<html>
    <head>
        <?php include('head.html'); ?>
        <title>Тестовый</title> 
    </head>
    
    <body>
        <div class="page">
            <div class="header">
                <div class="headerinns">
                    <?php include('headerinns.html'); ?>
                </div>
                <div class="menu">
                    <?php include('menu.html'); ?>
                </div>
            </div>
            
            <div class="leftboard">
                <div class="leftmenu">
                          <ul class="subs">
            <li><a href="/index.php?article=1">Статья 1</a></li>
        </ul>
                </div>
            </div>
            
            <div class="content">
                <?php
                    $article = isset($_GET['artice']) ? (int)$_GET['artice'] : 0;
                    if ($article > 0) {
                        require_once "article.php";
                    }
                ?>
            </div>
            
            <div class="rightboard">
                <div class="social">
                    <?php include('social.html'); ?>
                </div>
                <div class="googlereklam">
                    <p>Реклама от Google</p>
                </div>
            </div>
            <div class="footer">
                <?php include('footer.html'); ?>
            </div>
        </div>
    </body> 
</html>

article.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
$sql = 'SELECT * FROM `temp_news` WHERE `id` = ' . $article;
$res = mysql_query($sql);
if (!$res || mysql_num_rows($res) != 1)
{
    header('Location: index.php');
    exit();
}
 
$row = mysql_fetch_assoc($res);
echo $row['article'];
 
?>
Добавлено через 57 секунд
В таблицу добавил под текст статью из википедии на 200 символов, а под id написал 1. Не пашет...

Добавлено через 1 минуту
мне кажется я не подключаюсь к базе данных. когда же я регу создаю я там пишу такую вот штучку

PHP
1
2
3
4
<?php
    $db = mysql_connect ("localhost","root","");
    mysql_select_db ("tempsite",$db);
?>
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 23:12
Цитата Сообщение от AvengerAlive Посмотреть сообщение
мне кажется я не подключаюсь к базе данных. когда же я регу создаю я там пишу такую вот штучку
ну да, я код подлкючения не приводил Это сами анпишите, там ваши данные, логин пароль имя базы
0
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
13.10.2012, 23:20  [ТС]
переписал таким образов. опять не работает

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$db = mysql_connect ("localhost","root","");
mysql_select_db ("tempsite",$db);
$sql = "SELECT id FROM temp_news WHERE id='$article'";
$res = mysql_query($sql,$db);
if (!$res || mysql_num_rows($res) != 1)
{
    // ошибка запроса или статья не найдена
    header('Location: index.php');
    exit();
}
 
$row = mysql_fetch_assoc($res);
// в переменной $row у вас строка со статьёй из базы.
 
// выводим текст статьи.
echo $row['article'];
 
?>
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 23:25
Ну а ошибки пишет какие?
0
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
13.10.2012, 23:32  [ТС]
да никакие. просто ничего не показывает. иду по ссылке http://www.tempsite.loc/index.php?article=1
и в контенте пустота.
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
13.10.2012, 23:58
PHP
1
$article = isset($_GET['artice']) ? (int)$_GET['artice'] : 0;
там очепятка
$_GET['article'] в обоих случаях
1
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
14.10.2012, 10:48  [ТС]
DrobyshevAlex, спасибо, работает)) а теперь у меня такой вопрос. Допустим я пишу статью на html. Я могу загружать в БД уже готовый html чтобы он грузился?

Добавлено через 8 минут
ещё проблема с кодировкой возникла. у меня в MySql таблица создана с текстом под utf8_bin
а сайт пишу на Notepad++ с Utf-8 без BOM. htacces есть. Что же делать?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
14.10.2012, 11:46
Цитата Сообщение от AvengerAlive Посмотреть сообщение
Что же делать?
Смотря какая проблема

Если у вас вопросики, то попробуйте добавить после
PHP
1
2
mysql_connect....
mysql_query('set names utf8');
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.10.2012, 11:46
Помогаю со студенческими работами здесь

Заполнение элемента формы значениями из базы данных через PHP
Здравствуйте! Помогите пожалуйста правильно организовать заполнение элемента формы select типа &quot;combobox&quot; значениями из поля...

Удаление из базы данных через форму и php методом checkbox
Имеем форму: &lt;form action=&quot;news_drop.php&quot; method=&quot;post&quot;&gt; &lt;? $result = mysql_query(&quot;SELECT * FROM news&quot;); $myrow =...

Вывод статьи по id из базы данных
Всем Доброго времени суток! Я хочу реализовать вывод 1 статьи по нажатию ссылки подробнее,примерно так &lt;? ...

Php + mysql = отобразить перечень таблиц базы данных, схему данных
Всем привет, нужна ваша помощь, как реализовать данные задания? 1. Создать главную страницу сайта, на котором отобразить перечень таблиц...

Экспорт в Excel из базы MYSQL через PHP
Есть сайт, который связан в базой данных и через который можно выбирать периоды информации из базы. Выгрузка в Excel работает очень...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru