Как сделать SQL запрос к базе данных

W1
На сайте с 22.01.2021
Offline
306
#31
totamon #:

хз

Ну вот почему я и не берусь писать скрипты, пока нет внятной постановки задачи и полной информации, необходимой для решения задачи.

Мой форум - https://webinfo.guru –Там я всегда на связи
W1
На сайте с 22.01.2021
Offline
306
#32
sotex2 #:
у каждой новости постер

При написании кода необходимо учитывать различные нюансы, а тем более такие очевидные, как возможное отсутствие всяких переменных, наличие других переменных и вероятность их различного порядка следования. Поэтому тот код, который тебе дали, никуда не годится, его использование может к очень неприятным последствиям: БД будет необратимо испорчена.

C
На сайте с 28.04.2022
Offline
16
#33

Под поставленную ТС задачу...

$xfields_row_obj = $db->query("SELECT xfields FROM dle_post WHERE id='{$_POST['id']}'");
$xfields_row = $xfields_row_obj->fetch_assoc();

if(preg_match('/(^|.+?\|)(poster\|)([^|]+)?(.*?)$/ui', $xfields_row['xfields'], $matches))
    $xfields_row['xfields'] = "{$matches[1]}{$matches[2]}{$_POST['poster']}{$matches[4]}";
else
    $xfields_row['xfields'] = ($xfields_row['xfields'] ? "{$xfields_row['xfields']}||" : $xfields_row['xfields']) . "poster|{$_POST['poster']}";

$poster = $db->query("UPDATE dle_post SET xfields='{$xfields_row['xfields']}' WHERE id='{$_POST['id']}'");
W1
На сайте с 22.01.2021
Offline
306
#34
chinafull #:

Под поставленную ТС задачу...

Мсье знает толк в извращениях... :)

C
На сайте с 28.04.2022
Offline
16
#35
webinfo #:

Мсье знает толк в извращениях... :)

Что вам не понравилось? Поясните, где вы увидели извращения

W1
На сайте с 22.01.2021
Offline
306
#36
chinafull #:

где вы

Я один.

chinafull #:

увидели извращения

В использовании данного кода для решения этой задачи.
Строка с разделителями - это один из способов записи в БД объекта, свойства которого имеют значения. Поэтому логично и правильно - получить искомый объект, изменить его, и снова записать в БД. А Вы используете формальный подход, который можно объяснить либо желанием поупражняться в различных вариантах кодинга, либо непониманием сути решаемой задачи. 

Кроме того, приведённый код затрудняет анализ и модификацию скрипта. Если для анализа кода, который привёл totamon, мне достаточно прочитать его "по диагонали", то Вашу регулярку и последующее её использование приходится "разбирать по слогам". Это было бы уместно, если бы этот код давал какие-то преимущества, например, расширяемость, существенный выигрыш в производительности, и т.д.. Но в данном случае ничего подобного нет, поэтому к приведённому решению лично я отношусь скорее как к кодерским упражнениям, нежели как к реально применимому решению.

C
На сайте с 28.04.2022
Offline
16
#37
webinfo #:

Я один.

Можете поставить мне 2 по русскому...

Код на 100% решает поставленную задачу.

poster|posterValue

name1|value1||poster|posterValue

name1|value1||poster|posterValue||name2|value2

poster|||name1|value1

отсутствие poster и т.д.

Ну раз не видно [ничего подобного] - считайте кодерскими упражнениями))

W1
На сайте с 22.01.2021
Offline
306
#38
chinafull #:
Ну раз не видно [ничего подобного] - считайте кодерскими упражнениями

Именно так. 
Есть люди, которые считают, что кодеры - это не программисты. Я, скорее всего, склоняюсь   к тому, что кодеры в большинстве случаев всё же занимаются программированием. Но вот это как раз тот случай, когда это именно кодинг, а не программирование. Почему - объяснил выше.

И не надо забивать гвозди микроскопом. Для этой цели существует молоток.

C
На сайте с 28.04.2022
Offline
16
#39
webinfo #:

Именно так. 
Есть люди, которые считают, что кодеры - это не программисты. Я, скорее всего, склоняюсь   к тому, что кодеры в большинстве случаев всё же занимаются программированием. Но вот это как раз тот случай, когда это именно кодинг, а не программирование. Почему - объяснил выше.

И не надо забивать гвозди микроскопом. Для этой цели существует молоток.

Есть практики - решающие задачи быстро и эффективно, а есть теоретики - пишущие тонны пустого текста.  webinfo - как раз второй случай.

ArbNet
На сайте с 27.10.2019
Offline
146
#40
webinfo #:
Есть люди, которые считают, что кодеры - это не программисты.

Есть разработка -  создание программного продукта, от продумывании алгоритмов до всей структуры программы, от написания функций до разных модулей. И есть кодинг -  это использование готовых решений с добавлением своих костылей лишь бы как то работало. Программирование это скорее относится к обучению(предмет курса в школе вузе и тд.), изучению языков программирования, как алгоритмы программировать на том или ином языке, знание от того как работает компьютер до особенностей того или иного языка, паттерны и тп. Когда человек прошёл курс программирования, то его принято называть программистом и в трудовой так пишут.

Сейчас мало разработчиков в основном одни кодеры которые называют себя разработчиками для поднятия статуса не понимая что это значит. Раньше мало было готовых решений и приходилось практически всё разрабатывать с ноля, сейчас же чел без глубоких знаний может наустанавливать всяких либ, плюс несколько костылей, примеров из интернета и всё готово. Программист, разработчик ли он? Сомневаюсь :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий