Вставка php кода в конструкцию php кода

S0
На сайте с 31.10.2020
Offline
3
190

Есть два php кода.

Первый

<?php
$sql=$mi->query("select `articul`,`cena` from `$table` where `id`='1'");
$result=$sql->fetch_array();
echo "<p>$result[articul]</p>";
echo "<p>$result[cena]</p>";
?>

Второй:

<?php the_field('id_tov'); ?>

Я хочу вторую конструкцию вставить в первую  конструкцию вместо цифры 1, чтобы получилось так

<?php
$sql=$mi->query("select `articul`,`cena` from `$table` where `id`='<?php the_field('id_tov'); ?>'");
$result=$sql->fetch_array();
echo "<p>$result[articul]</p>";
echo "<p>$result[cena]</p>";
?>

Но пишет ошибка. Что делать?

M
На сайте с 04.12.2013
Offline
191
#1
suliko-05 :
Я хочу вторую конструкцию вставить в первую  конструкцию вместо цифры 1

В смысле значение ф-ции, которое представляет собой идентификатор? Конкатенация строк:

"...`id`='" . the_field('id_tov') . "'"
Хостинг FOZZY ( http://fozzy.com.ru ) / Выслушаю предложения на домены ( http://u75.ru/domains-for-sale ) / Домены и скрипт для коротких ссылок ( http://u75.ru/domains-for-shortcuts )
ArbNet
На сайте с 27.10.2019
Offline
69
#2
$sql=$mi->query("select `articul`,`cena` from `$table` where `id`='".the_field('id_tov')."'");
Блажен, кто не стремится сделать лучше: он не рискует быть не понятым.
M
На сайте с 04.12.2013
Offline
191
#3

P.S. Также, если имя ф-ции или саму ф-цию (замыкание) предварительно сохранить в какой-то переменной, то можно с помощью фигурных скобок:

"...`id`='{$the_field('id_tov')}'"
IL
На сайте с 20.04.2007
Offline
415
#4
<?php the_field('id_tov'); ?>

По всей видимости, the_field не возвращает результат, а выводит (печатает) его.. Чтобы вернуть результат для дальнейшего использования в конкатенации, используется get_field

"...`id`='" . get_field('id_tov') . "'"

M
На сайте с 04.12.2013
Offline
191
#5
ivan-lev #:
По всей видимости, the_field не возвращает результат, а выводит (печатает) его.

Это вполне возможно, но у ТСа ф-ция была указана по сути сама по себе. Я поэтому задал уточняющий вопрос, прежде чем дать мой вариант решения.

ivan-lev #:
Чтобы вернуть результат для дальнейшего использования в конкатенации, используется get_field
Это какие-то известные ф-ции? А то по поводу окружения я у ТСа ничего не видел.
ДП
На сайте с 23.11.2009
Offline
192
#6
miketomlin #:
Это какие-то известные ф-ции?
Скорее всего это из wordpress'а - там такие есть.
igor3310
На сайте с 27.02.2011
Offline
127
#7

Да the_field() выводит  а вот get_field()  просто получает данные (он и нужен) -  тогда правильно так:


<?php
$sql=$mi->query("select `articul`,`cena` from `$table` where `id`='".get_field(id_tov)."'");
$result=$sql->fetch_array();
echo "<p>$result[articul]</p>";
echo "<p>$result[cena]</p>";
?>
Веб разработка WordPress, OpenCart, Modx Revo и прочее - https://searchengines.guru/ru/forum/1040224
LEOnidUKG
На сайте с 25.11.2006
Offline
1577
#8
Дикий пионер #:
Скорее всего это из wordpress'а - там такие есть.

При  wordpress и юзать 

$sql=$mi->query

Как-то весьма странно.

✅ Трастовых площадок под размещение статей и ссылок. Опыт 12 лет! ( https://searchengines.guru/ru/forum/675690 ) ⭐ Купить вечные трастовые ссылки для сайта ( https://getmanylinks.ru/?srh ) ⭐ Ускорение ваших сайтов (WP, Opencart и др.) + Настройка сервера ( https://searchengines.guru/ru/forum/997205 )
M
На сайте с 04.12.2013
Offline
191
#9
LEOnidUKG #:

При  wordpress и юзать...

Как-то весьма странно.

У меня как раз поэтому и не срослось. А то что в WP есть всякие the_* я знал, хотя конкретно про the_field и не помнил.

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