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.



Your result can be seen below.

Result of php executing





Full code of sct.php

  1. <?php
  2. <?php
  3. require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
  4.  
  5. // Путь к файлу CSV
  6. $csvFile = "путь_к_вашему_файлу.csv";
  7.  
  8. // Открываем файл CSV для чтения
  9. if (($handle = fopen($csvFile, "r")) !== FALSE) {
  10.     while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
  11.         $externalCode = $data[1]; // Внешний код товара
  12.         $categoryId = $data[0];   // ID категории товара
  13.         
  14.         // Поиск товара по внешнему коду
  15.         $arFilter = array(
  16.             "IBLOCK_ID" => ваш_ID_инфоблока, // Укажите ID нужного инфоблока
  17.             "=XML_ID" => $externalCode,
  18.         );
  19.         $rsElement = CIBlockElement::GetList(array(), $arFilter, false, false, array("ID"));
  20.         
  21.         if ($arElement = $rsElement->Fetch()) {
  22.             $elementId = $arElement["ID"];
  23.             
  24.             // Проверка наличия записи в b_iblock_section_element
  25.             $dbResult = $DB->Query("
  26.                 SELECT ID
  27.                 FROM b_iblock_section_element
  28.                 WHERE IBLOCK_SECTION_ID = $categoryId
  29.                 AND IBLOCK_ELEMENT_ID = $elementId
  30.             ");
  31.             
  32.             if (!$dbResult->Fetch()) {
  33.                 // Если запись отсутствует, добавляем ее
  34.                 $DB->Query("
  35.                     INSERT INTO b_iblock_section_element (IBLOCK_SECTION_ID, IBLOCK_ELEMENT_ID)
  36.                     VALUES ($categoryId$elementId)
  37.                 ");
  38.             }
  39.         }
  40.     }
  41.     fclose($handle);
  42. }
  43. ?>
File Description
  • sct
  • PHP Code
  • 07 Sep-2023
  • 1.64 Kb
You can Share it: