Autor Zpráva
Tadeáš
Profil *
Ahoj
řeším problém a nevím jak jej vyřešit. Zkusím nastínit o co jde. Mám xml feed kde jsou produkty
struktura xml

......
<item>
<id>1</id>
<name>produkt</name>
<category>nabytek</category>
<section>interier</section>
<manufactur>Koro</manufactur>
<description>popis</description>
</item>
.....

xml nahraji, rozparsuji a vytvořím formulář kde si uživatel zaklikne které produkty chce importovat na základě vybraných category, section a manufacturer. Největší problém je pro mě, vytvořit v php podmínku která bude dynamicky tvořená a bude pouštět jen produkty, které splňují požadavky uživatele. Takže když se vybere kategorie nábytek a výrobce Koro tak jiné produkty se nebudou importovat. Tak samo pokud někdo vybere interiér a nábytek tak to importuje jen ty produkty, které to mají nastaveno.
anonym_
Profil *
Tadeáš:
Tak je to jen cyklus, který kontroluje v podmínce/kách, jestli jsou splněny zadané parametry. Pokud ano, import položky, pokud ne, pokračujeme na další položku.
Tadeáš
Profil *
ten cyklus mi neděla problém, spiš poskladat tu podmínku podle toho co je vybrané
anonym_
Profil *
Tadeáš:
A problém je konkrétně kde? Co bylo odesláno ve formuláři víš, a podle toho si seskládáš ty podmínky, ne?

Něco zkus, pokud si nebudeš vědět rady, dej vědět.
Tadeáš
Profil *
tohle je můj poslední pokus z toho by to mělo být jasné čeho potřebuji dostahnout
$name='nabytek';
$item=md5($name);
$manufacturersSelected[$item]=$name;
$name='Koro';
$item=md5($name);
$categoriesSelected[$item]=$item;

 $segments=[];
 $manufacturers=[];
 $categories=[];
 $totalCountProduct=0;
 $dataXml = simplexml_load_file('test.xml');
 foreach ($dataXml->PRODUCT as $product) {
     $segment=(string)$product->segment;
     $manufacturer=(string)$product->manufacturer;
     $category=(string)$product->category;
     if (empty($manufacturer)) {
         $manufacturer="Neznámý výrobce";
     }


     $segmentHash=md5($segment);
     $manufacturerHash=md5($manufacturer);
     $categoryHash=md5($category);

     $arr=[];
     $limit=0;

     if (isset($segmentsSelected[$segmentHash])) {
         $arr[0] =$segmentsSelected[$segmentHash];
         $limit++;
     }

 
     if (isset($categoriesSelected[$categoryHash])) {
         $arr[1] =$categoriesSelected[$categoryHash];
         $limit++;
     }


     if (isset($manufacturersSelected[$manufacturerHash])) {
         $arr[2] =$manufacturersSelected[$manufacturerHash];
         $limit++;
     }

      $arr = array_filter($arr);
      echo $limit;
      echo ' ';
      echo count($arr);

         if (count($arr)!= $limit) {
               echo 'vynechavam ';
             continue;
         };
      echo '<hr>';
     $totalCountProduct++;
 }

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0