Я хочу изменить данный код. а именно поле field_265 я сейчас использую как Поле вводаtehnos писал(а): ↑15 мар 2024, 21:09 Опять ничего не понятно. Какое поле... какой строке изменить статус... Ну или может я тупой. Вот Вам наводка, а дальше думайте алгоритм сравнений.
Для превращения текста из поля ($text) в массив значений ($text_arr) с разделением по пробелу или по переносу строки используйте:Код: Выделить всё
$text_arr = preg_split("/\s+/", $text, 0, PREG_SPLIT_NO_EMPTY);
Код: Выделить всё
$entity_id = 25;
$data = array('field_217' => 75);
$query = db_query("SELECT `id` FROM `app_entity_25` WHERE `field_214` IN (SELECT `field_265` FROM `app_entity_29` WHERE `field_265` <> '')");
// если в результате запроса вернётся несколько записей используем цикл чтобы обработать все
while($result = mysqli_fetch_assoc($query)) {
$item_id = $result['id'];
items::update_by_id($entity_id, $item_id, $data);
}
Я пытался сделать это сам, но статус заказов так и не изменился.
Код: Выделить всё
$entity_id = 25;
$data = array('field_217' => 75);
// Предполагается, что $text содержит текст, разделенный на строки.
$text_arr = preg_split("/\s+/", $text, 0, PREG_SPLIT_NO_EMPTY);
foreach ($text_arr as $text_line) {
// Выполнить запрос и обновление данных для каждой строки текста.
$query = db_query("SELECT `id` FROM `app_entity_25` WHERE `field_214` IN (SELECT `field_265` FROM `app_entity_29` WHERE `field_265` <> '$text_line')");
// Обрабатываем результаты запроса.
while ($result = mysqli_fetch_assoc($query)) {
$item_id = $result['id'];
items::update_by_id($entity_id, $item_id, $data);
}
}