С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 17.10.2018
Сообщений: 14

Ссылка на автоматически генерируемую страницу

23.10.2018, 14:49. Показов 2649. Ответов 26
Метки bd, mysql (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Сразу скажу я начинающий. В прошлом вопросе мне помогли, надеюсь и в этом помогут. Ближе к делу. Есть у меня такая страничка которая берет так сказать объявления из бд и автоматически их выставляет.
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
26
27
28
29
30
31
32
33
34
35
36
37
<?php 
 
$dbc = mysqli_connect() or die('Ошибка соединения'); //Соединение с базой данных
 
    $query = "SELECT * FROM `articles` ORDER BY `id` DESC";  //делаем запрос берем все из таблицы артикл и сортируем по убыванию айди
    $result = mysqli_query($dbc,$query);  //Осуществляем сам запрос и записываем его в переменную Result
    $row = mysqli_fetch_all($result, MYSQLI_ASSOC); //записываем массив в переменную row из $result
 
    mysqli_close($dbc); //закрываем соединение с базой данных
 
?>
 
<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" type="text/css" href="style.css">
    <meta charset="utf-8">
    <title>my first blog</title>
</head>
<body>
        <div class="obv">
    <?php  
foreach($row as $value){ //создаем цикл где row там массив где валуе там элементы одного массива.  ?>
    <div class="block">
<h3><a href="article.php?id=<?php echo $value['id'] ?>"><?php echo $value['title'] ?></a></h3>
<img src="<?php echo $value['image'] ?>" alt="Picture">
<em><?php echo $value['date'] ?></em>
<p><?php echo $value['content'] ?></p>
</div>
<?php }?>
</div>
<footer>
    <p>copyright 2018</p>
</footer>
 
</body>
</html>
а есть вторая страничка

PHP
1
2
3
4
5
6
    <div class="article">
<h3><?php echo $id['title'] ?></h3>
<img src="<?php echo $id['image'] ?>" alt="Picture">
<em><?php echo $id['date'] ?></em>
<p><?php echo $id['content'] ?></p>
    </div>
Так вот, мне нужно чтобы когда пользователь нажимал на ссылку какого нибудь объявления. Подгружалась вторая страница и загружала именно ту строку из БД которая соответствует данному объявлению. Вторая страница написана криво, ибо я в поисках решения. Буду рад если поможете.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.10.2018, 14:49
Ответы с готовыми решениями:

Если нет файла, но есть ссылка, то будет отображаться ссылка на указанную страницу...
Здравствуйте, понадобилась помощь в php)) В общем есть такой код: &lt;?php $file = get_field('file'); $title = $file; if(...

Почему автоматически убирается ссылка из div?
Пробую так: &lt;a href=&quot;adress&quot;&gt; &lt;div&gt;blabla&lt;/div&gt; &lt;/a&gt; В итоге после открытия страницы остается только: ...

Автоматически вставлять html в страницу
Добрый вечер. Хочу что бы из бд вытаскивались данные и вставлялись на страницу не в качестве текста, а как html в нужное мне место....

26
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
23.10.2018, 15:42
Вы так же должны выбирать данные из базы данных, только для конкретной страницы. Для этого нужно добавить в запрос условие отбора записи по переданному id. Если нужно готовое решение, можете мне написать.

Добавлено через 5 минут
Вторая страницы просто не дописана. Для новичка у вас все более-менее нормально написано. Действуйте по такой же схеме, как у первой страницы.

Добавлено через 4 минуты
При получении $result тоже нужно написать "or die" хотя бы.

Добавлено через 12 минут
Имя $row для результата fetch_all не подходит по смыслу. Лучше $rows или $articles. А в цикле обычно делают так:
Code
1
foreach ($rows as $row):
Или так:
Code
1
foreach ($articles as $article):
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
23.10.2018, 15:53
Rufat1997, а что именно не получается? Вы же вроде всё правильно делаете, на 25-ой строке формируете ссылку на конкретную страницу. Далее делаете так:

PHP
1
2
3
4
5
6
7
8
if(isset($_GET['id']))
{
    // Выводим конкретную статью
}
else
{
    // Выводим каталог статей
}
Только лучше вынести код html-шаблонов в отдельные файлы, чтобы не было каши в коде. Т.е. чтобы было примерно так:

PHP
1
2
3
4
5
6
7
8
9
10
if(isset($_GET['id']))
{
    $article = mysqli_query(...);
    include('view/articles/article.php');
}
else
{
    $rows = mysqli_query(...);
    include('view/articles/catalog.php');
}
1
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
23.10.2018, 16:07
Jodah, как вариант, в ветвлении можно только определить имя файла шаблона.

Добавлено через 1 минуту
А потом:
PHP
1
2
mysqli_close($dbc);
include('view/articles/'.$template.'.php');
1
0 / 0 / 0
Регистрация: 17.10.2018
Сообщений: 14
23.10.2018, 16:12  [ТС]
Ребят я запутался. Этот if isset куда нужно вставлять? с инклудами не понял. у меня 2 файла index и article где индекс там все объявления. Где article хочу подгружать статью. я просто не могу взять айди который записывается в ссылку и компилировать страницу только с этой строчкой из базы данных. Я буду очень признателен если расскажете по подробней, если будет готовый код я пойму
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
23.10.2018, 16:15
Rufat1997, а, тогда в файле article.php пишете:

PHP
1
2
$id = (int) $_GET['id'];
$query = "SELECT * FROM `articles` WHERE `id` = $id ORDER BY `id` DESC";
А дальше как в вашем текущем коде - подставляем запрос в mysqli_query, получаем статью и выводим её на экран.
1
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
23.10.2018, 16:18
Вам предложили использовать "единую точку входа" и для списка статей, и для отдельных статей. Можете ПОКА это не делать и сделать так, как я написал выше, т.е. использовать два отдельных файла.

Добавлено через 2 минуты
Jodah, только без ORDER BY `id` DESC Лучше LIMIT 1 на случай каких-то проблем с определением индексных полей.
1
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
23.10.2018, 16:22
estic, да, это я ступил.
0
0 / 0 / 0
Регистрация: 17.10.2018
Сообщений: 14
23.10.2018, 16:28  [ТС]
Вообщем вот мои файлы после нескольких перемен
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
23
24
25
26
27
28
29
30
31
32
33
34
<?php 
 
$dbc = mysqli_connect('localhost','id5154774_findbook','2328032r','id5154774_findbook') or die('Ошибка соединения'); //Соединение с базой данных
if (isset($_GET['id'])) {
$id = (int) $_GET['id'];
$query = "SELECT * FROM `articles` WHERE `id` = $id";
    $article = mysqli_query($dbc,$query);  
}
else
{
    echo 'error';
}
 
    mysqli_close($dbc); //закрываем соединение с базой данных
 
?>
 
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>obyavleniye</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
   <div class="article">
<h3><?php echo $article['title'] ?></h3>
<img src="<?php echo $id['image'] ?>" alt="Picture">
<em><?php echo $article['date'] ?></em>
<p><?php echo $article['content'] ?></p>
    </div>
 
</body>
</html>
index.php
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php 
 
$dbc = mysqli_connect('localhost','id5154774_findbook','2328032r','id5154774_findbook') or die('Ошибка соединения'); //Соединение с базой данных
 
    $query = "SELECT * FROM `articles` ORDER BY `id` DESC";  //делаем запрос берем все из таблицы артикл и сортируем по убыванию айди
    $result = mysqli_query($dbc,$query);  //Осуществляем сам запрос и записываем его в переменную Result
    $articles = mysqli_fetch_all($result, MYSQLI_ASSOC); //записываем массив в переменную row из $result
 
    mysqli_close($dbc); //закрываем соединение с базой данных
 
?>
 
<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" type="text/css" href="style.css">
    <meta charset="utf-8">
    <title>my first blog</title>
</head>
<body>
    <header>
        <p>Рекламный баннер</p>
        <nav>
            <p>категория 1</p>
            <p>категория 1</p>
            <p>категория 1</p>
            <p>категория 1</p>
        </nav>
    </header>
        <div class="obv">
    <?php  
foreach($articles as $article){ //создаем цикл где row там массив где валуе там элементы одного массива.  ?>
    <div class="block">
<h3><a href="article.php?id=<?php echo $article['id'] ?>"><?php echo $article['title'] ?></a></h3>
<img src="<?php echo $article['image'] ?>" alt="Picture">
<em><?php echo $article['date'] ?></em>
<p><?php echo $article['content'] ?></p>
</div>
<?php }?>
</div>
<footer>
    <p>copyright 2018</p>
</footer>
 
</body>
</html>
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
23.10.2018, 16:31
Ну, примерно так. Только следовало бы учесть все мои замечания из первого сообщения.
0
0 / 0 / 0
Регистрация: 17.10.2018
Сообщений: 14
23.10.2018, 16:32  [ТС]
дело в том что не работает.. я учту
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
23.10.2018, 16:33
Цитата Сообщение от Rufat1997 Посмотреть сообщение
echo 'error';
И что дальше?

Добавлено через 52 секунды
Цитата Сообщение от Rufat1997 Посмотреть сообщение
дело в том что не работает.
Никогда так не отвечайте, если рассчитываете на помощь. Включите вывод ошибок.
0
0 / 0 / 0
Регистрация: 17.10.2018
Сообщений: 14
23.10.2018, 16:35  [ТС]
я не хотел грубить, не поймите не правильно. Я не просто так подметил что новичек в этом деле. как включить вывод ошибок? если не сложно
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
23.10.2018, 16:39
Цитата Сообщение от Rufat1997 Посмотреть сообщение
я не хотел грубить
Это не грубость. Но могут нагрубить вам в ответ на это.

В поисковике - "php включить вывод ошибок".

Добавлено через 1 минуту
PHP
1
ini_set('display_errors',true);
0
0 / 0 / 0
Регистрация: 17.10.2018
Сообщений: 14
23.10.2018, 16:44  [ТС]
вот это вот выходит. Хотя вывод ошибок верный. Мне кажется ошибка где то в ссылке файла
Миниатюры
Ссылка на автоматически генерируемую страницу  
0
0 / 0 / 0
Регистрация: 17.10.2018
Сообщений: 14
23.10.2018, 16:46  [ТС]
Если нужно я могу дать все данные от сайта, уже 3 день вожусь с этим
Я просмотрел много уроков, но единая точка доступа на моем компьютере отказывается работать, даже когда я точь в точь переписываю все файлы.
Возможно что все проблемы из за хостинга? вроде php 7
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
23.10.2018, 16:48
Вы уже и так многое дали Кстати, тоже совет: никогда так не делайте.
0
0 / 0 / 0
Регистрация: 17.10.2018
Сообщений: 14
23.10.2018, 16:49  [ТС]
Все равно это только для учебы) спасибо за совет. Я ваше время отнимаю..
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
23.10.2018, 16:50
Данная ошибка скорее всего не связана непосредственно с вашим кодом.
1
0 / 0 / 0
Регистрация: 17.10.2018
Сообщений: 14
23.10.2018, 16:54  [ТС]
Большое спасибо, буду пробовать ставить все на локальный сервер.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.10.2018, 16:54
Помогаю со студенческими работами здесь

перезагрузить страницу сайта автоматически
как перезагрузить страницу сайта автоматически, только один раз после загрузки страницы???

Как автоматически перейти на другую страницу?
Задание: Сделать index.php, который при запросе вида index.php?page=name выводит страницу с url=name (в противном случае ничего не...

Можно ли автоматически отправить на печать страницу
Здавствуйте. Возможно ли настроить печать страницы? Можно ли автоматически отправить на печать страницу? Можно ли каким-либо...

Ссылка на страницу
PHP плохо знаю подскажите конструкцию Если ссылка на страницу равно href=&quot;qwerty.ru&quot; Тогда .... КонецЕсли;

Ссылка на страницу
Есть ссылка &quot;sample.com/product#id1&quot;. Как можно вытащить #id1(Вроде хеш называется) и через условия подставлять в страницу нужный контент,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru