При выборе ткани обязательно учитывайте то, что мониторы бывают откалиброваны по-разному, что дает небольшие отклонения по оттенкам цветов, а на некоторых мониторах цвета искажаются при угле зрения отличном от 90 градусов. Даже в реальности цвет ткани воспринимается по-разному при искусственном и естественном освещении.
В связи с огромным выбором тканей и непостоянством их наличия на складах поставщиков, по возможности, выберите первый, второй, и т.д. варианты на тот случай, если не будет материала из первоначального выбора.
по артикулам по категориям
$value) {
switch ($value) {// присваеваем переменной номер поля в таблице
case KATEGORIYA_HOLDINGA: $KategoriyaHoldingaNomerPolya=$key; break;
case ARTIKUL_TKANI: $ArtikulTkaniNomerPolya=$key; break;
case PAPKA_V_KOTOROY_FAIL: $PapkaVKotoroyFailNomerPolya=$key; break;
}
}
} else {
// если номера категории нет в графе, то присвоить ему номер 'неопределена'= 'NO'
if ($data[$tmp][$KategoriyaHoldingaNomerPolya]==='') {$data[$tmp][$KategoriyaHoldingaNomerPolya]='NO';}
// каждая категория - это ключ первой размерности, а номера строк в массиве $data во вотором измерении
$dataCatN[$data[$tmp][$KategoriyaHoldingaNomerPolya]][]= $tmp;
// каждый артикул - это ключ первой размерности, а номера строк в массиве $data в значениях
$dataArtN[$data[$tmp][$ArtikulTkaniNomerPolya]]= $tmp;
}
}
fclose($nash_fail); if ($tmp<=1) exit("ОШИБКА: Прочитанный файл не содержит вообще никакой информации.");
}
function VyvodModulyaTkani ($NomerStrokiDlyaVyvoda) {
global $data, $papkaSMALL, $papkaBIG, $KategoriyaHoldingaNomerPolya;
// блок со скругленными краями
$StrokaVyvoda = '';
$StrokaVyvoda .= '' . "\n";
//min-height: 200px; height: 250px;float:left;
// вывод картинок - увеличение
$NameFileSMALL = $papkaSMALL."/".$data[$NomerStrokiDlyaVyvoda][0]."/".$data[$NomerStrokiDlyaVyvoda][1].".".$data[$NomerStrokiDlyaVyvoda][2];
$NameFileBIG = $papkaBIG."/".$data[$NomerStrokiDlyaVyvoda][0]."/".$data[$NomerStrokiDlyaVyvoda][1].".".$data[$NomerStrokiDlyaVyvoda][2];
$StrokaVyvoda .= " ', BGCOLOR, '\#ffffff', FONTCOLOR, '\#333333', BORDERCOLOR, 'Silver', WIDTH, '100%', FADEIN, 000, FADEOUT, 000)\"> ";
$StrokaVyvoda .= " ";
$StrokaVyvoda .= " " . "\n";
$StrokaVyvoda .= 'Тип: ' . $data[$NomerStrokiDlyaVyvoda][9] . " ";
$StrokaVyvoda .= ' Артикул: А' . $data[$NomerStrokiDlyaVyvoda][7] . "";
$StrokaVyvoda .= $data[$NomerStrokiDlyaVyvoda][4] . " " . $data[$NomerStrokiDlyaVyvoda][5] . " " . 'Ценовая группа: ';
$StrokaVyvoda .= $data[$NomerStrokiDlyaVyvoda][$KategoriyaHoldingaNomerPolya];
$StrokaVyvoda .= " " . "\n";
return $StrokaVyvoda;
}
function VyvodVsehKategoriy () {
global $CatN, $dataCatN, $PageN, $data, $papkaSMALL, $papkaBIG, $KategoriyaHoldingaNomerPolya;
echo 'ПРИМЕРНЫЕ ЦЕНОВЫЕ ГРУППЫ (ЦЕНОВЫЕ КАТЕГОРИИ) ';
// Создаем $CatArray - массив, список всех имеющихся категорий // Устанавливаем текущую категорию
(array) $CatArray=array_keys($dataCatN); sort($CatArray); $CatN = (isset($_GET['catn']) and in_array($_GET['catn'],$CatArray)) ? $_GET['catn'] : $CatArray[0];
// В нем будет массив категорий $dataCatN отсортированный по упорядочиванию ключей и категорию 'NO' переносим назад.
ksort($dataCatN); foreach ($dataCatN as $key => $value){ if ($key=='NO') {$strTMP[$key]=$dataCatN[$key]; unset($dataCatN[$key]); $dataCatN=$dataCatN+$strTMP;unset($strTMP); break;}}
// $dataCatNForVyvod В этом массиве все категории по порядку кроме 'NO', она последняя.
$dataCatNForVyvod=$dataCatN;
//и переносим текущуую категорию вперед
$strTMP[$CatN]=$dataCatN[$CatN]; unset($dataCatN[$CatN]); $dataCatN=$strTMP+$dataCatN;
// Создаем новый массив в котором будут расположены по порядку номера строк для вывода в массиве $data. Для совместимости добавим в начало пустую строку.
$dataCatNSortForVyvod = array(''); foreach ($dataCatN as $key => $value) {(array) $dataCatNSortForVyvod = array_merge((array) $dataCatNSortForVyvod, (array) $value);}
/*Блок вывода категорий*/
$StrokaNomerovCategoriy='';
foreach ($dataCatNForVyvod as $key => $value){
if ($key==$CatN) {$StrokaNomerovCategoriy .= ' [группа '.$CatN.'] ';}
else {$StrokaNomerovCategoriy .= '[ гр. '.$key.'] ';}
}
$StrokaNomerovCategoriy .= ' '.' '.' ';
echo $StrokaNomerovCategoriy;
/*Блок вывода категорий - конец*/
$StrokVsego = count($data)-1; $StranicVsego = ceil(($StrokVsego-1)/100);
/*Блок вывода страниц*/
$PageN = ceil($_GET['pagen']); if (($PageN>$StranicVsego) or ($PageN<1) or ($PageN==null)) {$PageN=1;}
$StrokaNomerovStranic=' Страницы:';
for ($strTMP=1; $strTMP<=$StranicVsego; $strTMP++) {
if ($strTMP==$PageN) {$StrokaNomerovStranic .= ' [страница '.$strTMP.'] ';}
else {$StrokaNomerovStranic .= ' '.$strTMP.' ';}
}
$StrokaNomerovStranic .= ' '.' ';
echo $StrokaNomerovStranic;
/*Блок вывода страниц - конец*/
echo "";
$StrokaModuley='';
for ($i=($PageN-1)*100+1;(($i<($PageN-1)*100+100+1) and ($i<$StrokVsego));$i++) {
$StrokaModuley .= ' ';
$StrokaModuley .= VyvodModulyaTkani ($dataCatNSortForVyvod[$i]);
$StrokaModuley .= "" . "\n" . "\n";
}
$StrokaModuley .= "";
echo $StrokaModuley;
/*Блок вывода страниц*/
echo $StrokaNomerovStranic;
/*Блок вывода страниц - конец*/
}
function VyvodSpiskaArtikulov () {
global $dataArtN, $data, $ArtikulTkaniNomerPolya;
echo 'СПИСОК ВСЕХ АРТИКУЛОВ ТКАНИ ';
// сортировка массива артикулов, где артикулы - это ключи, а значения - строки в массиве $data
ksort($dataArtN);
// вывод всех артикулов на экран
foreach ($dataArtN as $key => $value){
echo ""." a".$data[$value][$ArtikulTkaniNomerPolya].", ";
}
}
function VyvodArtikula($ArtikulTkani) {// выводит указанный артикул и всю его коллекцию (по папке в которой находится)
global $data, $ArtikulTkaniNomerPolya, $PapkaVKotoroyFailNomerPolya;
echo 'ТКАНЬ С АРТИКУЛОМ A'.$ArtikulTkani.' И ЕЕ КОЛЛЕКЦИЯ. ';
foreach ($data as $key => $value) {
if ($value[$ArtikulTkaniNomerPolya]==$ArtikulTkani) {
echo VyvodModulyaTkani ($key);
echo ' ';
for ($tmp=$key;($tmp>0) and ($data[$tmp-1][$PapkaVKotoroyFailNomerPolya]==$data[$key][$PapkaVKotoroyFailNomerPolya]);$tmp--);
for (;($tmp>0)and($tmp";
echo ' ';
echo VyvodModulyaTkani($tmp);
echo "" . "\n" . "\n";
//echo "";
}
break;
}
}
}
ChtenieFaila ();// прочитали файл в память и разобрали его на строки, поместив в массив (array) $data.
if ($ArtN==0) {VyvodVsehKategoriy ();}
if ($ArtN==-1) {VyvodSpiskaArtikulov ();}
if ($ArtN>=1) {VyvodArtikula($ArtN);}
if ($_GET['otladka']==1) {echo "Время выполнения скрипта: ".(microtime(true) - $start);}
?>
|