Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как проверить значение доп. поля переключатель sql запросом?

Как проверить значение доп. поля переключатель sql запросом?


     22.02.2020    Общие вопросы по PHP, Хаки, Ламерские вопросы    951

вопрос
Добрый день, перелопатил кучу сайтов, не могу найти ответ как решить, можно ли запросом проверить, установлено ли значение доп. поля (test, первое в строке) тип "Переключатель" в положение "Да"?
Пробовал так

$check = $db->query("SELECT `id` FROM " . PREFIX . "_post WHERE `xfields` LIKE '%test|1%'");
Далее, 
if ( $check ) { echo "Включено"; } else { echo "Выключено"; }

,но всегда показывает "Выкл." Запрос не правильный. Или там все сложнее и нужно писать обработчик?

Ответа пока нет


2 комментария

Flash
Эксперт

Flash - 23 февраля 2020 00:09 -

Во первых, $db->query не используется для "SELECT", для этого можно использовать $db->super_query
Во вторых, непонятно что хотите сделать, для конкретной новости определить статус переключателя, или же пытаетесь найти айди новостей, у которых переключатель включен?
$check = $db->super_query("SELECT `id` FROM " . PREFIX . "_post WHERE `xfields` LIKE '%test|1%'");
var_dump ( $check );

В $check будет массив.

Mau
Юзер

Mau - 23 февраля 2020 17:19 -

Благодарю, все оказалось сложнее, чем я думал, да, я хотел для каждой конкретной новости по запросу определять, в каком положении у нее находится переключатель, а далее уже через операторы if/else запускать функцию.
По аналогии с тегами [ifxfvalue test="Да"] Текст [/ifxfvalue], только на уровне php, и не делать отдельное поле в таблице, а использовать `xfields`.
Но, здесь похоже одной строчкой не обойтись и явно затратно по ресурсам получается....

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх