sct - PHP Online
Form of PHP Sandbox
Enter Your PHP code here for testing/debugging in the Online PHP Sandbox. As in the usual PHP files, you can also add HTML, but do not forget to add the tag <?php
in the places where the PHP script should be executed.
Result of php executing
Full code of sct.php
- <?php
- <?php
- require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
- // Путь к файлу CSV
- $csvFile = "путь_к_вашему_файлу.csv";
- // Открываем файл CSV для чтения
- if (($handle = fopen($csvFile, "r")) !== FALSE) {
- while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
- $externalCode = $data[1]; // Внешний код товара
- $categoryId = $data[0]; // ID категории товара
- // Поиск товара по внешнему коду
- $arFilter = array(
- "IBLOCK_ID" => ваш_ID_инфоблока, // Укажите ID нужного инфоблока
- "=XML_ID" => $externalCode,
- );
- $rsElement = CIBlockElement::GetList(array(), $arFilter, false, false, array("ID"));
- if ($arElement = $rsElement->Fetch()) {
- $elementId = $arElement["ID"];
- // Проверка наличия записи в b_iblock_section_element
- $dbResult = $DB->Query("
- SELECT ID
- FROM b_iblock_section_element
- WHERE IBLOCK_SECTION_ID = $categoryId
- AND IBLOCK_ELEMENT_ID = $elementId
- ");
- if (!$dbResult->Fetch()) {
- // Если запись отсутствует, добавляем ее
- $DB->Query("
- INSERT INTO b_iblock_section_element (IBLOCK_SECTION_ID, IBLOCK_ELEMENT_ID)
- VALUES ($categoryId, $elementId)
- ");
- }
- }
- }
- fclose($handle);
- }
- ?>