Хорошо, долгое время кодер, первый раз застрял (думаю, из-за того, что не видел леса сквозь деревья!)
любой, как у меня есть данные, возвращаемые в массиве.
Если указано одно из полей данных, это номер детали.
В качестве примера набор данных выглядит следующим образом (я удалил некоторые из них, поскольку он повторяется)
[1] => Array
(
[id] => 1628
[partnum] => 02030200104bla
[cat] => PPE
[class] => FOOT PROTECTION
[subcat] => BOOTS
[name] => BOOT SS400 4 BLACK D RING CHUKKA PAD COLLAR PUDD SOLE STEEL TOEandMID S1P STES
[is_over] => 0
[price] => 1
[image] => 1717-1727
[location] =>
[purchase] => 1
[hire] => 0
[hide] => 0
[hasother] => 0
[name_soundex] =>
[options] =>
[ass_prod] =>
)
[2] => Array
(
[id] => 1629
[partnum] => 02030200105bla
[cat] => PPE
[class] => FOOT PROTECTION
[subcat] => BOOTS
[name] => BOOT SS400 5 BLACK D RING CHUKKA PAD COLLAR PUDD SOLE STEEL TOEandMID S1P STES
[is_over] => 0
[price] => 1
[image] => 1717-1727
[location] =>
[purchase] => 1
[hire] => 0
[hide] => 0
[hasother] => 0
[name_soundex] =>
[options] =>
[ass_prod] =>
)
[3] => Array
(
[id] => 1630
[partnum] => 02030200106bla
[cat] => PPE
[class] => FOOT PROTECTION
[subcat] => BOOTS
[name] => BOOT SS400 6 BLACK D RING CHUKKA PAD COLLAR PUDD SOLE STEEL TOEandMID S1P STES
[is_over] => 0
[price] => 1
[image] => 1717-1727
[location] =>
[purchase] => 1
[hire] => 0
[hide] => 0
[hasother] => 0
[name_soundex] =>
[options] =>
[ass_prod] =>
)
[11] => Array
(
[id] => 1638
[partnum] => 02030200205bla
[cat] => PPE
[class] => FOOT PROTECTION
[subcat] => BOOTS
[name] => BOOT SS609 5 BLACK PAD COLLAR/TONGUE PU DD SOLE STEEL TOECAP and MIDSOLE S3 STES
[is_over] => 0
[price] => 1
[image] => 1728-1735
[location] => C36
[purchase] => 1
[hire] => 0
[hide] => 0
[hasother] => 0
[name_soundex] =>
[options] => 5 6 7 8 9 10 11 12
[ass_prod] =>
)
[12] => Array
(
[id] => 1639
[partnum] => 02030200206bla
[cat] => PPE
[class] => FOOT PROTECTION
[subcat] => BOOTS
[name] => BOOT SS609 6 BLACK PAD COLLAR/TONGUE PU DD SOLE STEEL TOECAP and MIDSOLE S3 STES
[is_over] => 0
[price] => 1
[image] => 1728-1735
[location] => C36
[purchase] => 1
[hire] => 0
[hide] => 0
[hasother] => 0
[name_soundex] =>
[options] =>
[ass_prod] =>
)
[13] => Array
(
[id] => 1640
[partnum] => 02030200207bla
[cat] => PPE
[class] => FOOT PROTECTION
[subcat] => BOOTS
[name] => BOOT SS609 7 BLACK PAD COLLAR/TONGUE PU DD SOLE STEEL TOECAP and MIDSOLE S3 STES
[is_over] => 0
[price] => 1
[image] => 1728-1735
[location] => C36
[purchase] => 1
[hire] => 0
[hide] => 0
[hasother] => 0
[name_soundex] =>
[options] =>
[ass_prod] =>
)
[14] => Array
(
[id] => 1641
[partnum] => 02030200208bla
[cat] => PPE
[class] => FOOT PROTECTION
[subcat] => BOOTS
[name] => BOOT SS609 8 BLACK PAD COLLAR/TONGUE PU DD SOLE STEEL TOECAP and MIDSOLE S3 STES
[is_over] => 0
[price] => 1
[image] => 1728-1735
[location] => C36
[purchase] => 1
[hire] => 0
[hide] => 0
[hasother] => 0
[name_soundex] =>
[options] =>
[ass_prod] =>
)
[13] => Array
(
[id] => 1640
[partnum] => 02030200207bla
[cat] => PPE
[class] => FOOT PROTECTION
[subcat] => BOOTS
[name] => BOOT SS609 7 BLACK PAD COLLAR/TONGUE PU DD SOLE STEEL TOECAP and MIDSOLE S3 STES
[is_over] => 0
[price] => 1
[image] => 1728-1735
[location] => C36
[purchase] => 1
[hire] => 0
[hide] => 0
[hasother] => 0
[name_soundex] =>
[options] =>
[ass_prod] =>
)
[15] => Array
(
[id] => 1642
[partnum] => 02030200108yel
[cat] => PPE
[class] => FOOT PROTECTION
[subcat] => BOOTS
[name] => BOOT SS400 8 YELLOW D RING CHUKKA PAD COLLAR PUDD SOLE STEEL TOEandMID S1P STES
[is_over] => 0
[price] => 1
[image] => 1728-1735
[location] => C36
[purchase] => 1
[hire] => 0
[hide] => 0
[hasother] => 0
[name_soundex] =>
[options] =>
[ass_prod] =>
)
)
Первые 9 символов - это код продукта, поэтому я делаю
$thisval = substr($t['partnum'], 0, 9);
и следующие 2 символа имеют размер
$thissize = substr($t['partnum'], 9, 2);
и последние 3 символа цвета
$thissize = substr($t['partnum'], 11, 3);
Все, что мне нужно сделать, это
если первые 9 символов совпадают, создайте выбор для каждого из последних 2 символов, где совпадают первые девять символов, чтобы они все отображались в раскрывающемся списке как выбираемый размер
и он берет последние 3 символа и делает их выбираемыми цветами
Если появляются новые 9 символов, он берет это и начинает новый. , ,
Таким образом, вы оказались бы в магазине с товаром, селектором цвета и размера
Из приведенных выше данных
Я бы искал 2 предмета, один с селектором размера и с черным и желтым
и один с селектором размера и селектором цвета только черного.
Любая помощь будет отличной!
Я думаю, что это должно работать как
If(is_array($products)){
$check="";
foreach($products as $key => $p){
$substring1 = substr($p['partnum'], 9,2);
$nexttwo = substr($p['partnum'],9,2);
If($check == $substring1){
}else{
If(is_array($products){
Foreach($products as $key => $t){
$substring2 = substr($t['partnum'], 9,2);
$nexttwo2 = substr($t['partnum'],9,2);
If($substring1 != $substring2){
Echo "<li>" . $p['itemname'] . "<ul>";
}else{
If($substring1 == $substring2){
Echo "<li>". $nexttwo2."</li>;
}else{
Echo "</ul>";
}
}
</li>
$check = $substring1;
}
}
}