Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
39 / 9 / 1
Регистрация: 16.02.2018
Сообщений: 251

Вывести из БД строку с определенным значением столбца

12.11.2018, 20:49. Показов 4061. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток форумчане!

С помощью формы в БД добавляется страница:

id, title, header, descroption, text - id, который создается автоматически, титл страницы (seo), заголовок, описание(seo) и текст.

Возникает вопрос

Как вывести определенный столбец для определенной страницы

Т.е. к примеру на саму страницу мне нужно вывести только заголовок. Как определить что это заголовок именно это страницы? Может в Бд нужно передать какой-то параметр, по которому мы будем определять та ли это страница?

Заранее спасибо

Добавлено через 8 минут
Вариант решения, над которым начал работать я.

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html>
<html lang="ru" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
 
     <form class="" action="set-in-bd.php" method="post">
       <input type="text" name="title" value="" placeholder="title страницы">
       <input type="text" name="header" value="" placeholder="Заголовок страницы">
       <input type="text" name="keywords" value="" placeholder="Ключевые слова">
       <input type="text" name="description" value="" placeholder="Описание">
       <input type="text" name="text" value="" placeholder="Текст страницы">
       <!-- передаем url страницы -->
       <input style="display:none;" type="text" name="url" value="<?php echo $_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"] ?>" placeholder="">
       <input type="submit" value="Добавить">
     </form>
 
  </body>
</html>
Добавляем url в определенный столбец в таблице

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
<?php
 
if (isset($_POST['title']) && isset($_POST['header']) && isset($_POST['keywords']) && isset($_POST['description']) && isset($_POST['text']) && isset($_POST['url'])){
  // Переменные с формы
  $title = $_POST['title'];
  $header = $_POST['header'];
  $keywords = $_POST['keywords'];
  $description = $_POST['description'];
  $text = $_POST['text'];
  $url = $_POST['url'];
 
  // Параметры для подключения
  $db_host = "admin-puryga";
  $db_user = "admin"; // Логин БД
  $db_password = "admin"; // Пароль БД
  $db_base = 'cms'; // Имя БД
  $db_table = "pages"; // Имя Таблицы БД
 
  // Подключение к базе данных
  $mysqli = new mysqli($db_host,$db_user,$db_password,$db_base);
 
  // Если есть ошибка соединения, выводим её и убиваем подключение
  if ($mysqli->connect_error) {
      die('Ошибка : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
  }
 
  $result = $mysqli->query("INSERT INTO `cms`.`pages` (`id`, `title`, `header`, `keywords`, `description`, `text`, `url`) VALUES (NULL, '$title', '$header', '$keywords', '$description', '$text', '$url')");
 
  if ($result == true){
    echo "Информация занесена в базу данных";
  }else{
    echo "Информация не занесена в базу данных";
  }
}
 
 ?>
Т.е. теоретически url страницы должен быть уникальным. Потом мы перебираем таблицу, если находим урл нашей страницы, то выбираем из строки значение нужного столбца.

Но как быть если адрес страницы изменится? Добавлять в бд ее заново? Тогда память засорится (хотя не часто адреса страниц меняются ))
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.11.2018, 20:49
Ответы с готовыми решениями:

Закрасить целую строку с определенным значением
В таблице string grid есть разные значения как по нажатию кнопки закрасить строку например в которой есть значение 111? пробую вот так...

Как заблакоровать строку с определенным значением?
Как заблакоровать строку с определенным значением? Есть поле kategory с трехзначными значениями, нужно заблокировать строки, которае...

Программно выделить строку (или ячейку) с определенным значением в datagridview.
Доброго времени суток! Есть datagridview, в котором несколько столбцов, один из которых id. Допустим, таблица заполнена сотнями...

5
Невнимательный
 Аватар для ft4l
3107 / 1277 / 358
Регистрация: 08.02.2013
Сообщений: 7,457
Записей в блоге: 2
13.11.2018, 00:10
Цитата Сообщение от Пурыга Никита Посмотреть сообщение
id, title, header, descroption, text
text это и есть содержание страницы?
id - обычно используется именно для доступа к определённой записи
, или для сопоставления этой записи с записями в других таблицах

Цитата Сообщение от Пурыга Никита Посмотреть сообщение
как быть если адрес страницы изменится?
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mysql> help update
Name: 'UPDATE'
Description:
Syntax:
Single-table syntax:
 
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]
 
Multiple-table syntax:
 
UPDATE [LOW_PRIORITY] [IGNORE] table_references
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
    [WHERE where_condition]
Добавлено через 25 минут
Если нужно узнать назначенный id сразу после добавления записи
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
mysql> help LAST_INSERT_ID
Name: 'LAST_INSERT_ID'
Description:
Syntax:
LAST_INSERT_ID(), LAST_INSERT_ID(expr)
 
LAST_INSERT_ID() (with no argument) returns the first automatically
generated value successfully inserted for an AUTO_INCREMENT column as a
result of the most recently executed INSERT statement. The value of
LAST_INSERT_ID() remains unchanged if no rows are successfully
inserted.
 
For example, after inserting a row that generates an AUTO_INCREMENT
value, you can get the value like this:
 
mysql> SELECT LAST_INSERT_ID()
        -> 195
....
.....
1
39 / 9 / 1
Регистрация: 16.02.2018
Сообщений: 251
13.11.2018, 00:13  [ТС]
Что выполняет этот код? И если обычно id используется для доступа, то как определять что к этой странице прикреплен именно этот id ?

Добавлено через 2 минуты
Понял что код дает нам назначенный айди, но не понимаю как нам извлечь его и использовать в php? Можете дать ссылку на статью где это поробно описывается, если таковая имеется.
0
Невнимательный
 Аватар для ft4l
3107 / 1277 / 358
Регистрация: 08.02.2013
Сообщений: 7,457
Записей в блоге: 2
13.11.2018, 01:18
Лучший ответ Сообщение было отмечено Пурыга Никита как решение

Решение

Цитата Сообщение от Пурыга Никита Посмотреть сообщение
как определять что к этой странице прикреплен именно этот id
Обычно навигация по записям/страницам построена на выборке подряд записей
, иногда в учётом категорий/групп, или дат добавления/изменения, ...

В других случаях может производится поиск по записям, например по title , или по тексту.
Поиск оптимальнее всего работает по индексам. Т.е создаются индексы одного или нескольких столбцов
Из той-же справки
Code
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
Examples:
mysql> SELECT 'David!' LIKE 'David_'
        -> 1
mysql> SELECT 'David!' LIKE '%D%v%'
        -> 1
Examples:
mysql> SELECT 'Monty!' REGEXP '.*'
        -> 1
mysql> SELECT 'new*\n*line' REGEXP 'new\\*.\\*line'
        -> 1
mysql> SELECT 'a' REGEXP 'A', 'a' REGEXP BINARY 'A'
        -> 1  0
mysql> SELECT 'a' REGEXP '^[a-d]'
        -> 1
Examples:
mysql> SELECT id, body, MATCH (title,body) AGAINST
    -> ('Security implications of running MySQL as root'
    -> IN NATURAL LANGUAGE MODE) AS score
    -> FROM articles WHERE MATCH (title,body) AGAINST
    -> ('Security implications of running MySQL as root'
    -> IN NATURAL LANGUAGE MODE)
+----+-------------------------------------+-----------------+
| id | body                                | score           |
+----+-------------------------------------+-----------------+
|  4 | 1. Never run mysqld as root. 2. ... | 1.5219271183014 |
|  6 | When configured properly, MySQL ... | 1.3114095926285 |
+----+-------------------------------------+-----------------+
последнее для FOOLTEXT индексов

Насчёт почитать не скажу, давно ничего не читал

Добавлено через 22 минуты
Насчёт возможностей mysql есть куча дополнительных плюшек,
связанных в основном с InnoDB таблицами (более требовательными к оперативной памяти)
, ткие как VIEW-ы , хранимые процедуры, FOREIGN KEY Constraints

Так-же есть инструменты разработки, как mysql-Workbench
И там у них на сайте было несколько тестовых баз данных, (Example Databases)
https://dev.mysql.com/doc/index-other.html
которые можно залить к себе, потестить ,
Помню где-то когда-то были примеры работы с этими базами, но вряд-ли на русском языке

Добавлено через 19 минут
Или всё просто
Цитата Сообщение от Пурыга Никита Посмотреть сообщение
Вывести из БД строку с определенным значением столбца
SQL
1
SELECT * FROM `tablitza` WHERE `stolbetz`='Znachenie';
1
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
13.11.2018, 01:33
Цитата Сообщение от Пурыга Никита Посмотреть сообщение
Как определить что это заголовок именно это страницы?
По URL, который лежит в $_SERVER['REQUEST_URI'].

Почитайте про единую точку входа, недавно обсуждалось:
Принцип работы ЧПУ

Вкратце - с помощью htaccess делаем так, что все http-запросы обрабатываются одним файлом index.php. В этом файле смотрим на текущий URL, ищем связанную с ним запись в БД и выводим на экран.

Цитата Сообщение от Пурыга Никита Посмотреть сообщение
как быть если адрес страницы изменится?
Если вы про SEO - то лучше адреса не менять, а если поменяли - делаем 301-ый редирект со старого адреса на новый.
1
39 / 9 / 1
Регистрация: 16.02.2018
Сообщений: 251
13.11.2018, 14:18  [ТС]
Спасибо всем кто помогал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.11.2018, 14:18
Помогаю со студенческими работами здесь

Вывести строки из бд с определенным значением
Есть таблица: id дата Номер Результат 1 2017-04-20 50000 Да 2 2017-04-21 50000 Нет 3 2017-04-20 40000 Нет 4 2017-04-21...

Вывести все записи с определенным значением логического поля
не разу с этим не сталкивался в delphi поэтому прошу помощи. есть база access таблица vopros поля: id (счетчик) yes (логический тип)...

Считать из поля Edit вписанное значение и через запрос (query) вывести строку с этим значением значением в dbgrid.
считать из поля Edit вписанное значение и через запрос (query) вывести строку с этим значением значением в dbgrid. Добавил query,...

Вывести строки с разным значением столбца sql
Приветствую! Нужно вывести строки, где столбцы Names имеют разные (не повторяющиеся) значения и вместе с этими значениями также...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru