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


suliko-05
191

Есть два 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>";
?>

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


miketomlin
suliko-05 :
Я хочу вторую конструкцию вставить в первую  конструкцию вместо цифры 1

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

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

ArbNet
$sql=$mi->query("select `articul`,`cena` from `$table` where `id`='".the_field('id_tov')."'");

miketomlin

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

"...`id`='{$the_field('id_tov')}'"

ivan-lev
<?php the_field('id_tov'); ?>

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

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


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

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

ivan-lev #:
Чтобы вернуть результат для дальнейшего использования в конкатенации, используется get_field

Это какие-то известные ф-ции? А то по поводу окружения я у ТСа ничего не видел.


Дикий пионер
miketomlin #:
Это какие-то известные ф-ции?

Скорее всего это из wordpress’а — там такие есть.


igor3310

Да 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>";
?>

LEOnidUKG
Дикий пионер #:
Скорее всего это из wordpress’а — там такие есть.

При  wordpress и юзать 

$sql=$mi->query

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


miketomlin
LEOnidUKG #:

При  wordpress и юзать…

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *