PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (5): « 1 2 3 [4] 5 »

> Найдено сообщений: 65
nikoshot Отправлено: 11 Февраля, 2016 - 11:28:39 • Тема: Помогите очень нужна помощь.. • Форум: Вопросы новичков

Ответов: 0
Просмотров: 46
Есть категория http://musclestore[dot]com[dot]ua/catalog?cat_id=1
на ней выводится сео текст внизу а вот та же категория только с нормальным ЧПУ
http://musclestore[dot]com[dot]ua/catalog/proteiny[dot]htm и на ней не выводится текст...

ниже код который отвечает за вывод сео текста

помогите кто может...с меня причитается...


//Массивы фильтров
$catFltr = explode(',', $_GET['cat_id']);

$brandFltr = explode(',', $_GET['brand_id']);
//$signFltr = explode(',', urldecode($_GET['sign']));
$termFltr = explode(',', $_GET['term']);
$SignFltr = ($_GET['sign_id'])?explode(',', $_GET['sign_id']):null;
$prIdFltr = $_GET['pr_id'];

//Массивы псевдонимов
$brand_psevd = $SQLdb->SQL_Query("SELECT id,psevd FROM {$PREFIX}_brands WHERE active = 1");

while($row = mysql_fetch_assoc($brand_psevd)){
$brand_psevd_arr[] .= $row['psevd'];//Псевдонимы брендов

}
$cat_psevd = $SQLdb->SQL_Query("SELECT id,psevd FROM {$PREFIX}_categories WHERE active = 1");
while($row = mysql_fetch_assoc($cat_psevd)){
$cat_psevd_arr[] .= $row['psevd'].'5555';//Псевдонимы категорий
}

if(count($catFltr) == 1 && $catFltr[0]){
$query = "SELECT seo_text FROM scms_categories where id in (".implode(',', $catFltr).") and seo_text != ''";
$SEoCatRes = $SQLdb->SQL_Query($query);
if($SQLdb->get_num_rows($SEoCatRes)){
$seoCat = mysql_fetch_assoc($SEoCatRes);
$SeoCatTextTemp = htmlspecialchars_decode($seoCat['seo_text']);
$SEOCatText = <<<STR
<div id="knowledge_text" class="seoText">
<p style="text-align:justify">{$SeoCatTextTemp}</p>
</div>
STR;

}
nikoshot Отправлено: 04 Февраля, 2016 - 16:51:28 • Тема: Подскажите как в моем коде формируется URL • Форум: Вопросы новичков

Ответов: 2
Просмотров: 341
У меня такой вопрос...Когда выбираю любую категорию через фильтр ссылка имеет вид
http://my-site[dot]ru/catalog?cat_id=6

но при наведении на эту категорию ссылка имеет вид
http://my-site[dot]ru/catalog/super[dot]htm

Нужно что бы в сылку передавался не /?cat_id=6 а /super.ht
Помогите разобраться с кодом, хотя бы какая часть кода отвечает за передачу ссылки в url

код прикреплен в атаче...
Заранее спасибо))
<?php
if(!defined('sCMSprotection2')){die("No Way for hackers!");}
$path = pathinfo(__FILE__);
$TEMPLATE->set_folder($path['dirname'].'/tpl/', true);
$psevd = strtolower($SYSTEM_REQUEST['psevd']);


if($uri == 'http://my-syte.ru/catalog/popular'){header('Location: http://'.$ROOT.'/catalog?term=popular',true, 301);exit;}

$arr = explode('/',$uri);
$cnt = count($arr);
$chapter = $URL->ALL_CHAPTERS[0];

$SignArray = array(
1 => array('type' => 'жидкие','title' => 'Жидкие'),
2 => array('type' => 'капсулы','title' => 'Капсулы'),
3 => array('type' => 'порошковые','title' => 'Порошковые'),
4 => array('type' => 'прочее','title' => 'Прочее'));
// echo "<div style='position:absolute; opacity:0;'>{$cnt}</div>";

$MODULE = 'catalog';
$MODULE_TIT = 'Каталог';

//404 hot found check!!!
$err = false;
if($chapter)
$err = true;

if($arr[4]){
if(!strpos($arr[4],'.htm')) $err = true;
}
if($cnt > 5)
$err = true;
if($err){header('Location: http://'.$ROOT.'/error/?code=404'); exit();}

//Массивы фильтров
$catFltr = explode(',', $_GET['cat_id']);

$brandFltr = explode(',', $_GET['brand_id']);
//$signFltr = explode(',', urldecode($_GET['sign']));
$termFltr = explode(',', $_GET['term']);
$SignFltr = ($_GET['sign_id'])?explode(',', $_GET['sign_id']):null;
$prIdFltr = $_GET['pr_id'];
print_r($_GET['cat_id']);
//Массивы псевдонимов
$brand_psevd = $SQLdb->SQL_Query("SELECT id,psevd FROM {$PREFIX}_brands WHERE active = 1");

while($row = mysql_fetch_assoc($brand_psevd)){
$brand_psevd_arr[] .= $row['psevd'];//Псевдонимы брендов

}
$cat_psevd = $SQLdb->SQL_Query("SELECT id,psevd FROM {$PREFIX}_categories WHERE active = 1");
while($row = mysql_fetch_assoc($cat_psevd)){
$cat_psevd_arr[] .= $row['psevd'].'5555';//Псевдонимы категорий
}

if(count($catFltr) == 1 && $catFltr[0]){
$query = "SELECT seo_text FROM scms_categories where id in (".implode(',', $catFltr).") and seo_text != ''";
$SEoCatRes = $SQLdb->SQL_Query($query);
if($SQLdb->get_num_rows($SEoCatRes)){
$seoCat = mysql_fetch_assoc($SEoCatRes);
$SeoCatTextTemp = htmlspecialchars_decode($seoCat['seo_text']);
$SEOCatText = <<<STR
<div id="knowledge_text" class="seoText">
<p style="text-align:justify">{$SeoCatTextTemp}</p>
</div>
STR;

}

# get all priznak
$query = <<<SQL
select t2.id,t2.title
from `priznakLink` as t1
left join `priznak` as t2 on (t2.id = t1.`priznakId`)
where t1.`ownerId` = '{$SQLdb->SQLSafeStr($catFltr[0])}'
SQL;
$result = $SQLdb->SQL_Query($query);

if($SQLdb->get_num_rows($result)){
$prArrT = array();
while ($prItms = mysql_fetch_assoc($result)) {

$link = $URL->set_url(array('module' => 'catalog')).'?cat_id='.$catFltr[0].'&pr_id='.$prItms['id'];
if($prItms['id'] == $_GET['pr_id']){
$prArrT[] = '<a class="priznak-item active" href="'.$link.'">'.$prItms['title'].'</a>';
} else {
$prArrT[] = '<a class="priznak-item" href="'.$link.'">'.$prItms['title'].'</a>';
}

}
$PRIZNAKLIST = implode('<span class="delimit">,</span>', $prArrT);
}
}
if(count($brandFltr) == 1 && $brandFltr[0]){
$query = "SELECT seo_text,title,title_en FROM scms_brands where id in (".implode(',', $brandFltr).") and seo_text != ''";
$SEoBrandRes = $SQLdb->SQL_Query($query);
if($SQLdb->get_num_rows($SEoCatRes)){
$seoBrand = mysql_fetch_assoc($SEoBrandRes);
$SeoBrandTextTemp = htmlspecialchars_decode($seoBrand['seo_text']);
$seoBrandTitleen = ($seoBrand['title_en'])?htmlspecialchars_decode($seoBrand['title_en']):htmlspecialchars_decode($seoBrand['title']);

$SEO_TITLE = <<<STR
{$seoBrandTitleen} - спортивное питание в Киеве, купить {$seoBrandTitleen} в Украине - магазин спортивного питания МаслСтор
STR;

$SEOBrandText = <<<STR
<div id="knowledge_text" class="seoText">
<p style="text-align:justify">{$SeoBrandTextTemp}</p>
</div>
STR;
}

}

/* echo"sign ";
print_r($signFltr);
echo"<br /> ctegories ";
print_r($catFltr);
echo"<br /> brands ";
print_r($brandFltr); */


/****************************************DOP FUNC***************************************************/
function Price($price){
if(strlen($price) >= 5){
$t = substr($price,0,2);
$h = substr($price,-3);
return $price = $t.' '.$h;
}elseif(strlen($price) == 4){
$t = substr($price,0,1);
$h = substr($price,-3);
return $price = $t.' '.$h;
}else{
return $price = $price;
}
}
/*************************************************************************************************/
$SORT = ' ORDER BY I.on_board DESC';
if($_GET['old_price'] == 'yes'){$old_price = ' AND I.old_price > 0 ';}else{$old_price = '';}
//Если была ссылка со стороны------------------------- -------
$WHERE = 'WHERE I.active = 1';
$H1 = 'Каталог товаров';
$CHECK = false;

if($_GET['cat']){
$CatSpecialFltrs = explode(',', $_GET['cat']);
}

if(!empty($termFltr[0])){

$fltr = $termFltr[0];
$WHERE = " WHERE I.active = 1 AND I.term = '$fltr' $old_price";

}
elseif($psevd){

$sql = $SQLdb->SQL_Query("SELECT `seo_title`,`seo_description`,`seo_h1` FROM {$PREFIX}_categories WHERE `psevd` = '{$psevd}'");
if(mysql_num_rows($sql)){

$res = mysql_fetch_assoc($sql);
$SEO_TITLE = htmlspecialchars_decode($res['seo_title']);
$SEO_DESCRIPTION = htmlspecialchars_decode($res['seo_description']);
$SEO_H1 = htmlspecialchars_decode($res['seo_h1']);
}
if(in_array($psevd,$brand_psevd_arr)){

$WHERE = " LEFT JOIN {$PREFIX}_brands B ON (B.id = I.brand_id AND B.active = 1) WHERE B.psevd = '{$psevd}'";
$sql = $SQLdb->SQL_Query("SELECT id,title FROM {$PREFIX}_brands WHERE psevd = '{$psevd}'");
$row = mysql_fetch_assoc($sql);
$H1 = $row['title'];
$BRAND_ID = $row['id'];

}elseif(in_array($psevd,$cat_psevd_arr)){

$WHERE = " LEFT JOIN {$PREFIX}_categories C ON (C.id = I.cat_id AND C.active = 1) WHERE C.psevd = '{$psevd}'";
$sql = $SQLdb->SQL_Query("SELECT id,title FROM {$PREFIX}_categories WHERE psevd = '{$psevd}'");
$row = mysql_fetch_assoc($sql);
$H1 = $row['title'];
$CAT_ID = $row['id'];

}elseif($psevd == 'discount'){

$WHERE = " WHERE I.old_price > 0 AND I.term = 'discount'";
$H1 = 'Акционные';
$CHECK = true;

}
else{

header('Location: http://'.$ROOT.'/error/?code=404');
exit();
}

}

if(!empty($SignFltr)){

//$SignArray
$YUFltrSign = $FltrU = array();
foreach ($SignFltr as $key => $value) {
$YUFltrSign[] = "'{$SignArray[$value]['type']}'";
}
$FltrU[] = " I.sign in (".implode(',', $YUFltrSign).")";
if($FltrU) {
$WHERE .= ' AND ('.implode(' OR ', $FltrU).')';
}
}
$FltrU = array();

if($_GET['acc_id'] == 1){

$WHERE .= " AND I.old_price > 0 AND term = 'discount'";
}
//Если небыло фильтров(общий запрос)------------------------------------------------------------------------
$sql = "SELECT I.id, I.title,I.short_text,I.quantity,I.liks, I.psevd, I.on_board, I.price,I.old_price,I.type, I.term, P.picture_file
FROM {$PREFIX}_item I
LEFT JOIN {$PREFIX}_pictures P ON (P.chapter = 'item' AND P.m = 1 AND P.item_id = I.id)
{$WHERE} {$SORT}";
// echo '$brandFltr';print_r($sql);exit();
//------------------------------ ------FILTER FUNCTIONS----------------------------------------------------
function CAT_QUERY($cat_arr){//ADD CATEGORY IN QUERY--------------------------- --

$CATEGORY = ' AND (';
$or = ' OR ';
//$and = ',';

$countC = count($cat_arr);

if($countC > 1){

for($i = 0; $i < $countC; $i++){

if($i == $countC - 1){ $or = ')';}
$CATEGORY .= 'I.cat_id = '.$cat_arr[$i].$or;
}
return $CATEGORY;

}else{

$CATEGORY .= 'I.cat_id = '.$cat_arr[0].')';
return $CATEGORY;
}

}
function BRAND_QUERY($brand_arr){//ADD BRAND IN QUERY--------------------------- --

$BRAND = ' AND (';
$or = ' OR ';
$and = ',';

$countB = count($brand_arr);

if($countB > 1){

for($i = 0; $i < $countB; $i++){

if($i == $countB - 1){ $or = ')'; $and = '';}
$BRAND .= 'I.brand_id = '.$brand_arr[$i].$or;
}
return $BRAND;

}else{

$BRAND .= 'I.brand_id = '.$brand_arr[0].')';
return $BRAND;
}

}
function SIGN_QUERY($sign_arr){//ADD SIGN QUERY--------------------------- ------------

$SIGN = ' AND (';

$countS = count($sign_arr);

if($countS == 1){

$sign = $sign_arr[0];
$SIGN .= "I.sign = '$sign')";
return $SIGN;

}elseif($countS == 2){

$sign1 = $sign_arr[0];
$sign2 = $sign_arr[1];
$SIGN .= "I.sign = '$sign1' OR I.sign = '$sign2')";
return $SIGN;

}else{

$SIGN = '';
return $SIGN;
}
}
function TERM_QUERY($term_arr){//ADD TERM QUERY--------------------------- ------------

$TERM = ' AND (';

$countT = count($term_arr);

if($countT == 1){

$term = $term_arr[0];
$TERM .= "I.term = '$term')";
return $TERM;

}elseif($countT == 2){

$term1 = $term_arr[0];
$term2 = $term_arr[1];
$TERM .= "I.sign = '$term1' OR I.sign = '$term2')";
return $TERM;

}else{

$TERM = '';
return $TERM;
}
}
/*************************************FILTER (CATEGORY)******************************************************/

if(!empty($catFltr[0])){

$WHERE = ' WHERE I.id != 0 ';
$or = ' OR ';
if($_GET['cat_id']){
$CatFltrU = explode(',', $_GET['cat_id']);
$FltrU[] = " I.cat_id in (".implode(',', $CatFltrU).")";

}
if($_GET['brand_id']){
$BrandFltrU = explode(',', $_GET['brand_id']);
$FltrU[] = " I.brand_id in (".implode(',', $BrandFltrU).")";
}
if(!empty($SignFltr)){
//$SignArray
$YUFltrSign = array();
foreach ($SignFltr as $key => $value) {
$YUFltrSign[] = "'{$SignArray[$value]['type']}'";
}
$FltrU[] = " I.sign in (".implode(',', $YUFltrSign).")";
}
if($FltrU) {
$WHERE .= ' AND ('.implode(' AND ', $FltrU).')';
}

// $count = count($catFltr);

// if($count >1){
//
// for($i = 0; $i < $count; $i++){
//
// if($i == $count-1){ $or = ')';}
// $WHERE .= 'I.cat_id = '.$catFltr[$i].$or;
//
// }
//
// }else{
//
// $WHERE .= 'I.cat_id = '.$catFltr[0].')';
// }

// if(!empty($brandFltr[0])){//ADD BRAND`s IN QUERY/////////////////////////// //////////////////////////////// ///
//
// $BRAND = BRAND_QUERY($brandFltr);
//
// }else{$BRAND = '';}

// if(!empty($signFltr[0])){//ADD SIGN`s IN QUERY/////////////////////////// ////////////////////////////////
//
// $SIGN = SIGN_QUERY($signFltr);
// }

if($_GET['acc_id'] == 1){

$DISCOUNT = " AND I.old_price > 0 AND term = 'discount'";
}

$H1 = 'Каталог товаров';

if($prIdFltr){
$prLEftJoin = "left join priznakLinkItem as t229 on (t229.ownerId = I.id)";
$WHERE .= ' AND t229.priznakId = '.$SQLdb->SQLSafeStr($prIdFltr).'';
} else {
$prLEftJoin = '';
}

$sql = "SELECT I.id, I.title, I.short_text, I.quantity, I.psevd, I.liks, I.price, I.old_price, I.on_board, I.type, I.term, P.picture_file
FROM {$PREFIX}_item I
LEFT JOIN {$PREFIX}_pictures P ON (P.chapter = 'item' AND P.m = 1 AND I.id = P.item_id)
{$prLEftJoin}
{$WHERE} AND I.active = 1 {$BRAND} {$SIGN} {$DISCOUNT} {$SORT}";

// echo '$catFltr';print_r($sql);exit();
}
/*************************************FILTER (BRAND`s)******************************************************/
if(!empty($brandFltr[0])){


$WHERE = ' WHERE I.id != 0 ';
$or = ' OR ';
if($_GET['cat_id']){
$CatFltrU = explode(',', $_GET['cat_id']);
$FltrU[] = " I.cat_id in (".implode(',', $CatFltrU).")";
}
if($_GET['brand_id']){
$BrandFltrU = explode(',', $_GET['brand_id']);
$FltrU[] = " I.brand_id in (".implode(',', $BrandFltrU).")";
}
if(!empty($SignFltr)){
$YUFltrSign = array();
foreach ($SignFltr as $key => $value) {
$YUFltrSign[] = "'{$SignArray[$value]['type']}'";
}
$FltrU[] = " I.sign in (".implode(',', $YUFltrSign).")";
}

if($FltrU) {
$WHERE .= ' AND ('.implode(' AND ', $FltrU).')';
}

// $count = count($brandFltr);
//
// if($count >1){
//
//
// for($i = 0; $i < $count; $i++){
//
// if($i == $count-1){ $or = ')';}
// $WHERE .= 'I.brand_id = '.$brandFltr[$i].$or;
//
// }
//
// }else{
//
// $WHERE .= 'I.brand_id = '.$brandFltr[0].')';
// }
//
// if(!empty($catFltr[0])){ //ADD CATEGORY`s IN QUERY/////////////////////////// /////////////////////
//
// $CATEGORY = CAT_QUERY($catFltr);
//
// }else{$CATEGORY = '';}
//
// if(!empty($signFltr[0])){//ADD SIGN`s IN QUERY/////////////////////////// ////////////////////////////////
//
// $SIGN = SIGN_QUERY($signFltr);
//
// }else{$SIGN = '';}


if($_GET['acc_id'] == 1){

$DISCOUNT = " AND I.old_price > 0 AND term = 'discount'";
}

$H1 = 'Каталог товаров';

$sql = "SELECT I.id, I.title, I.short_text, I.quantity, I.psevd, I.liks, I.price, I.old_price, I.on_board, I.term, I.type, P.picture_file
FROM {$PREFIX}_item I
LEFT JOIN {$PREFIX}_pictures P ON (P.chapter = 'item' AND P.m = 1 AND I.id = P.item_id)
{$WHERE} AND I.active = 1 {$CATEGORY} {$SIGN} {$DISCOUNT} {$SORT}";
// echo '$brandFltr';print_r($sql);exit();
}
/*************************************FILTER (TOP CHECKBOX`s)******************************************************/

//if(!empty($signFltr[0])){
//
//$WHERE = "WHERE (";
//
// $count = count($signFltr);
//
// if($count == 1){
//
// $sign = $signFltr[0];
// $WHERE .= "I.sign = '$sign')";
//
// }elseif($count == 2){
//
// $sign1 = $signFltr[0];
// $sign2 = $signFltr[1];
// $WHERE .= "I.sign = '$sign1' OR I.sign = '$sign2')";
//
// }else{
//
// $WHERE = '';
// }
//
// if(!empty($brandFltr[0])){//ADD BRAND`s IN QUERY/////////////////////////// //////////////////////
//
// $BRAND = BRAND_QUERY($brandFltr);
//
// }else{$BRAND = '';}
//
// if(!empty($catFltr[0])){ //ADD CATEGORY`s IN QUERY/////////////////////////// /////////////////////
//
// $CATEGORY = CAT_QUERY($catFltr);
//
// }else{$CATEGORY = '';}
//
// if(!empty($_GET['old_price']) && !empty($_GET['term'])){
//
// $DISCOUNT = " AND I.old_price > 0 AND term = 'discount'";
// }
//
// $H1 = 'Каталог товаров';
//
// $sql = "SELECT I.id, I.title, I.short_text, I.quantity, I.psevd, I.liks, I.price, I.old_price, I.on_board, I.type, I.term, P.picture_file
// FROM {$PREFIX}_item I
// LEFT JOIN {$PREFIX}_pictures P ON (P.chapter = 'item' AND P.m = 1 AND I.id = P.item_id)
// {$WHERE} AND I.active = 1 {$BRAND} {$CATEGORY} {$DISCOUNT} {$SORT}";
//}

/***************************************************FILTER PRICE**************************************************************************/
if(!empty($_SESSION['priceRange'])){

$WHERE = "WHERE(";

if($_GET['term']){

$fltr = $_GET['term'];
$TERM = " AND I.term = '$fltr'";

if($fltr == 'popular'){$H1 = 'Популярные';}
if($fltr == 'discount'){$H1 = 'Акционные';}
if($fltr == 'recomendet'){$H1 = 'Рекомендованные';}



}else{$TERM = '';}

$from = $_SESSION['priceRange'][0];
$to = $_SESSION['priceRange'][1];

$WHERE .= "I.price BETWEEN $from AND $to AND I.active = 1)";

if(!empty($catFltr[0])){ //ADD CATEGORY`s IN QUERY/////////////////////////// /////////////////////

/*
if(count($catFltr == 1)){

$cat_id = $catFltr[0];

$CATEGORY = " AND C.id = '{$cat_id}'";
$sql = $SQLdb->SQL_Query("SELECT id,title FROM {$PREFIX}_categories WHERE id = '{$cat_id}'");
$row = mysql_fetch_assoc($sql);
$H1 = $row['title'];
$CAT_ID = $row['id'];


}else{ */

$CATEGORY = CAT_QUERY($catFltr);
//}

}else{$CATEGORY = '';}

if(!empty($brandFltr[0])){//ADD BRAND`s IN QUERY/////////////////////////// //////////////////////


/*
if(count($brandFltr) == 1){

$brand_id = $brandFltr[0];

$BRAND = " AND B.id = '{$brand_id}'";

$sql = $SQLdb->SQL_Query("SELECT id,title FROM {$PREFIX}_brands WHERE id = '{$brand_id}'");
$row = mysql_fetch_assoc($sql);
$H1 = $row['title'];
$BRAND_ID = $row['id'];

}else{ */

$BRAND = BRAND_QUERY($brandFltr);
//}

}else{$BRAND = '';}

if(!empty($signFltr[0])){//ADD SIGN`s IN QUERY/////////////////////////// ////////////////////////////////

$SIGN = SIGN_QUERY($signFltr);

}else{$SIGN = '';}


if($_GET['acc_id'] == 1){

$DISCOUNT = " AND I.old_price > 0 AND term = 'discount'";
}

if($psevd){



if(in_array($psevd,$brand_psevd_arr)){

$WHERE .= " AND B.psevd = '{$psevd}'";
$sql = $SQLdb->SQL_Query("SELECT id,title FROM {$PREFIX}_brands WHERE psevd = '{$psevd}'");
$row = mysql_fetch_assoc($sql);
$H1 = $row['title'];
$BRAND_ID = $row['id'];


}elseif(in_array($psevd,$cat_psevd_arr)){

$WHERE .= " AND C.psevd = '{$psevd}'";
$sql = $SQLdb->SQL_Query("SELECT id,title FROM {$PREFIX}_categories WHERE psevd = '{$psevd}'");
$row = mysql_fetch_assoc($sql);
$H1 = $row['title'];
$CAT_ID = $row['id'];

}elseif($psevd == 'discount'){

$WHERE .= " AND I.old_price > 0 AND I.term = 'discount'";
$H1 = 'Акционные';
$CHECK = true;

}else{

$H1 = 'Каталог товаров';
}

}

$sql = "SELECT I.id, I.title, I.short_text, I.quantity, I.psevd, I.liks, I.price, I.old_price, I.on_board, I.type, I.term, P.picture_file
FROM {$PREFIX}_item I
LEFT JOIN {$PREFIX}_pictures P ON (P.chapter = 'item' AND P.m = 1 AND I.id = P.item_id)
LEFT JOIN {$PREFIX}_brands B ON (B.id = I.brand_id AND B.lang_id = 'ru')
LEFT JOIN {$PREFIX}_categories C ON (C.id = I.cat_id AND C.lang_id = 'ru')
{$WHERE}
{$TERM}
{$CATEGORY}
{$BRAND}
{$SIGN}
{$DISCOUNT}
{$SORT}";

//print_r( preg_replace('/\n/', '<br>', $sql) );exit();
}

/*************************************GOOD`s******************************************************/
// Проверить запрос в базу !!! -------------------------------- ---
//echo GetExplain($sql);
//print_r($sql);
//------------------------------ -------------------------------- ----
$goods = $SQLdb->SQL_Query($sql);

if(mysql_num_rows($goods)){
$i = 1;
while($row = mysql_fetch_assoc($goods)){

$name = htmlspecialchars_decode($row['title']);
$description = htmlspecialchars_decode($row['short_text']);
$price = Price(htmlspecialchars_decode($row['price']));
$old_price = Price(htmlspecialchars_decode($row['old_price']));
$weight = htmlspecialchars_decode($row['weight']);
$img = htmlspecialchars_decode($row['picture_file']);
$id = htmlspecialchars_decode($row['id']);
$type = htmlspecialchars_decode($row['term']);
$liks = htmlspecialchars_decode($row['liks']);
$quantity = htmlspecialchars_decode($row['quantity']);
$on_board = htmlspecialchars_decode($row['on_board']);
$psevd = htmlspecialchars_decode($row['psevd']);

/*****************STYLE`s***************************/
if($type == 'discount'){

$class = 'class="sales"';
}else{

$class = '';
}

if($img){

$IMG = "<img src='http://{$ROOT}/upload/item/$img' alt=''>";

}else{

$IMG = '<p>Нет изображения</p>';
}



if($old_price){

$PRICES = "<span class='old_price'>$old_price грн.</span>
<span class='price'>$price<span>грн.</span></span>";

}else{

$PRICES = "<span class='price not_sale'>$price<span>грн.</span></span>";

}

if($on_board){
$BUY = "<div class='buy' onClick='setBuy({$id});'>Купить</div>";
}else{
$BUY = "<button style='' onclick='location.href=&quot;http://{$ROOT}/item/{$psevd}.htm&quot;' class='search_button_buy wait'></button>";
$PRICES = '<div class="wrap_price"><div class="price" style="text-decoration:underline;font-size:20px;margin-top:10px;">Под заказ</div></div>';
}


if($i <= 15){

$GOODS .=<<<htm

<div class="product_item">
<div class="product_item_inner">
<!-- classes sales, new, clock, percent-->
<div $class></div>

<div class="wrap_img"><a href='http://{$ROOT}/item/{$psevd}.htm'>{$IMG}</a></div>
<a href='http://{$ROOT}/item/{$psevd}.htm'><span class='header'>{$name}</span></a>
<div class="wrap_params">
<span class="count">{$quantity}</span>

<span class="compare" onClick='setCompare({$id});'><span></span>в сравнение</span>
<a href="http://{$ROOT}/compare" class="to_compare"><span></span>список</a>

<span class="likes"><span></span>{$liks}</span>
<div class="clr"></div>
</div>
<div class="price_buy">
<div class="wrap_price">
{$PRICES}
</div>
{$BUY}
<div class="clr"></div>
</div>
<div class="clr"></div>
<div class="about">
<span>{$description}</span>
<a href="http://{$ROOT}/item/{$psevd}.htm">Детали ></a>
</div>
</div>
<div class="info_product">
<span>{$name}</span>
<p>{$description}</p>
<a href="http://{$ROOT}/item/{$psevd}.htm">Подробнее<span></span></a>
</div>
</div>

htm;
}

$i++;
}
} else {
$linkToMain = $URL->set_url(array());

$GOODS = <<<STR
<div class="NoItems">
<span class="nodata">По данному фильтру товаров не найдено</span>
<a href="{$linkToMain}" class="see_all">На главную</a>
</div>
STR;
// header('Location: http://'.$ROOT.'/error/?code=404');
}

if(mysql_num_rows($goods) > 15){

$MORE = "<div class='button_more_products' onClick='moreItems();'>ещё 30<span></span></div>";

}
###################### SIGN
$SignStr = '<ul class="left_column_menu catalog" style="box-shadow: unset;border-width: 0px;">';
foreach ($SignArray as $key => $value) {
if(in_array($key, $SignFltr)) {
$isActive = 'active';

} else {
$isActive = '';$isActive2 = '';
}
$SignStr .= <<<STR
<li class="fltrItem {$isActive}" data-sort="{$key}" data-type="sign_id"><span class="check"></span>
<a href='javascript:void(0);' class="$isActive" data-sort="{$key}">{$value['title']}</a>
</li>
STR;
}
$SignStr .= '</ul>';

/******************************CATEGORY****************************************************/
$CATEGORY = '<ul class="left_column_menu catalog categories">';
$category = $SQLdb->SQL_Query("SELECT id,title,psevd FROM {$PREFIX}_categories WHERE active = '1' ORDER BY title");
$k = 0;

while($row = mysql_fetch_assoc($category)){
$name = htmlspecialchars_decode($row['title']);
$id = htmlspecialchars_decode($row['id']);
$psevd=htmlspecialchars_decode($row['psevd']);

if($id == $catFltr[$k]) {
$isActive = 'active';
$isActive2 = 'checked="checked"';

$k++;

} else {
$isActive = '';$isActive2 = '';
}

$CATEGORY .= <<<STR
<li class="fltrItem {$isActive}" data-sort="{$id}" data-type="cat_id">
<a href='/catalog/$psevd.htm' class="$isActive" data-sort="{$id}"><span class="check"></span>$name</a>
</li>
STR;
}

$CATEGORY .= '</ul>';
/******************************BRANDS****************************************************/
$BRANDS = '<ul class="left_column_menu catalog brands">';
$brands = $SQLdb->SQL_Query("SELECT id,title,psevd FROM {$PREFIX}_brands WHERE active = '1' ORDER BY title");
$m = 0;
while($row = mysql_fetch_assoc($brands)){

$name = htmlspecialchars_decode($row['title']);
$id = htmlspecialchars_decode($row['id']);
$psevd = htmlspecialchars_decode($row['psevd']);

if($id == $brandFltr[$m]) {
$isActive = 'active';
$isActive2 = 'checked="checked"';

$m++;

}else {$isActive = '';$isActive2 = '';}


$BRANDS .= <<<STR
<li class="fltrItem {$isActive}" data-sort="{$id}" data-type="brand_id"><span class="check"></span>
<a href='/catalog/$psevd.htm' class='$isActive'>$name</a>
</li>
STR;
}


$BRANDS .='</ul>';
/*********************************TOP CHECKBOXES*********************************************/

if(in_array('жидкие', $signFltr)){$liquidCheck = 'checked="checked"';}else{$liquidCheck = '';}
if(in_array('капсулы', $signFltr)){$capsulesCheck = 'checked="checked"';}else{$capsulesCheck = '';}
if(in_array('порошковые', $signFltr)){$powderCheck = 'checked="checked"';}else{$powderCheck = '';}
$CHECKBOXES = <<<check
<!--<li><a href="{$_SERVER['SCRIPT_URL']}?sign=%D0%B6%D0%B8%D0%B4%D0%BA%D0%B8%D0%B5&" >Жидкие<span></span></a></li>
<li><a href="{$_SERVER['SCRIPT_URL']}?sign=%D0%BA%D0%B0%D0%BF%D1%81%D1%83%D0%BB%D1%8B">Капсулы или таблетки<span></span></a></li>
<li><a href="{$_SERVER['SCRIPT_URL']}?sign=%D0%BF%D0%BE%D1%80%D0%BE%D1%88%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5">Порошковые<span></span></a></li> //-->

check;

/**********************************AKCII************************************************************************/
$AKCII = '<ul class="left_column_menu catalog akcii">';

if($_GET['acc_id'] == 1){

$isActive = 'active';
$isActive2 = 'checked="checked"';

}else{$isActive = '';$isActive2 = '';}

$AKCII .= <<<STR
<li class="fltrItem $isActive" data-sort="1" data-type="acc_id"><span class="check"></span>
<a href='/catalog/discount.htm?old_price=yes&term=discount' class='$isActive'>Акционные<span></span></a>
</li>
STR;

$AKCII .='</ul>';
/******************************BRADCRUMBS****************************************************/
if($H1 == 'Каталог товаров'){

$class = "class='current'";
$crumb = '';
}else{

$class = "class='not_current'";
$crumb = "<span class='current'>/</span>
<span class='current'>{$H1}</span>
<div class='clr'></div>";
}

$BREADCRUMBS = "<div class='bread_crumbs'>
<a href='http://{$ROOT}' class='not_current'>Главная</a>
<span class='not_current'>/</span>
<a href='/catalog' class='current'><span $class>Каталог товаров</span></a>
{$crumb}
</div>";

//print_r($_SERVER);
//if($H2) {$TITLE .= ' | '.$MODULE_TIT.' | '.$H2;} elseif($H1){$TITLE .= ' | '.$MODULE_TIT.' | '.$H1;} else{$TITLE .= ' | '.$MODULE_TIT;}
if($H2) {$TITLE = $H2.' | '.$MODULE_TIT;} elseif($H1){$TITLE = $H1.' - купить в Киеве: описание, отзывы | магазин спортивного питания MuscleStore ';} else{$TITLE .= ' | '.$MODULE_TIT;}
$DESCRIPTION = 'Спортивное питание ' . $H1 .'с доставкой по Киеву и всей Украине. Все товары 100% оригинальны с сертификатами качества можно купить в магазине спортивного питания МускулСтор';
//print_r ($DESCRIPTION);
//else $TITLE = 'Заказать спортивное питание для набора массы - интернет магазин спортивного питания Украины - musclestore.com.ua';
if($SEO_DESCRIPTION) $DESCRIPTION = $SEO_DESCRIPTION;
else $DESCRIPTION = 'Магазин спорт питания MuscleStore предоставляет огромный выбор товаров для Вас. Индивидуальный подход при подборе добавок. Сезонные скидки и акции. Все товары 100% оригинальны с сертификатами качества';
if($SEO_H1) $H1 = $SEO_H1;
else $H1 = 'Магазин спортивного питания';

$TEMPLATE -> get_tpl('catalog.tpl', true,true);

$TEMPLATE->set_tpl('{PRIZNAKLIST}', $PRIZNAKLIST);
$TEMPLATE -> set_tpl('{TOP_MENU}',$TOP_MENU);
$TEMPLATE -> set_tpl('{TITLE}',$TITLE);
$TEMPLATE -> set_tpl('{CHECKBOXES}',$CHECKBOXES);
$TEMPLATE -> set_tpl('{CATEGORY}',$CATEGORY);
$TEMPLATE -> set_tpl('{SignStr}',$SignStr);
$TEMPLATE -> set_tpl('{BRANDS}',$BRANDS);
$TEMPLATE -> set_tpl('{AKCII}',$AKCII);
$TEMPLATE -> set_tpl('{GOODS}',$GOODS);
$TEMPLATE -> set_tpl('{BREADCRUMBS}',$BREADCRUMBS);
$TEMPLATE -> set_tpl('{SEOCatText}',$SEOCatText);
$TEMPLATE -> set_tpl('{SEOBrandText}',$SEOBrandText);
$TEMPLATE -> set_tpl('{H2}',$H2);
$TEMPLATE -> set_tpl('{H1}',$H1);
$TEMPLATE -> set_tpl('{MORE}',$MORE);

$TEMPLATE -> set_tpl('{BOTTOM_SLIDER}',$BOTTOM_SLIDER);

$MODULE_CONTENT = $TEMPLATE -> tpl_parse();
nikoshot Отправлено: 15 Января, 2016 - 21:18:13 • Тема: Помогите отсортировать массив по алфавиту • Форум: Вопросы новичков

Ответов: 4
Просмотров: 509
Viper пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT B.id,B.title,B.psevd,P.picture_file FROM {$PREFIX}_brands B,{$PREFIX}_pictures P WHERE P.item_id = B.id AND P.m = 1 AND P.chapter = 'brands' ORDER BY B.title DESC


Спасибо тебе огромное)) сработало...Мой рейтинг не позволяет тебе клацнуть "спасибо" но все равно))
nikoshot Отправлено: 15 Января, 2016 - 21:06:09 • Тема: Помогите отсортировать массив по алфавиту • Форум: Вопросы новичков

Ответов: 4
Просмотров: 509
Viper пишет: в sql запросе


$brands = $SQLdb->SQL_Query("SELECT B.id,ORDER BY B.title DESC,B.psevd,P.picture_file FROM {$PREFIX}_brands B,{$PREFIX}_pictures P WHERE P.item_id = B.id AND P.m = 1 AND P.chapter = 'brands'");

Если так нужно было сделать то не работает...вы дает ошибку..

Внимание! Возникла ошибка SQL запроса:
SELECT B.id,ORDER BY B.title DESC,B.psevd,P.picture_file FROM scms_brands B,scms_pictures P WHERE P.item_id = B.id AND P.m = 1 AND P.chapter = 'brands'

Ошибка:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY B.title DESC,B.psevd,P.picture_file FROM scms_brands B,scms_pictures P ' at line 1

Я не силен в этом...)) но вроде сервер не поддерживает такой синтаксис или я не так сделал как ты написал...
Выручай плиз))
nikoshot Отправлено: 15 Января, 2016 - 16:03:55 • Тема: Помогите отсортировать массив по алфавиту • Форум: Вопросы новичков

Ответов: 4
Просмотров: 509
Добрый день!
Помогите пожалуйста отсортировать массив в алфавитном порядке....вот сам код

$brands = $SQLdb->SQL_Query("SELECT B.id,B.title,B.psevd,P.picture_file FROM {$PREFIX}_brands B,{$PREFIX}_pictures P WHERE P.item_id = B.id AND P.m = 1 AND P.chapter = 'brands'");
$go = mysql_num_rows($brands);
while($row = mysql_fetch_assoc($brands)){

$name = htmlspecialchars_decode($row['title']);
$img = htmlspecialchars_decode($row['picture_file']);
$id = asort($row['id']);
$psevd = $row['psevd'];


$BRANDS .="<a href='http://{$ROOT}/catalog?brand_id={$id}' class='brand_item'>
<div class='wrap_img_brand'><img src='http://{$ROOT}/upload/brands/$img' alt=''></div>
<span class='as'>$name</span>
</a>";
}
$row['name'] содержит в себе имена на английском яз...
$name так же содержит те же самые имена...

пробовал делать так
asort($row['name']);
и так
asort($name);

Но безрезультатно((((
А пример как ни старнно работает
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>

Подскажите как правильно сделать...
Спасибо))
nikoshot Отправлено: 05 Февраля, 2014 - 20:43:46 • Тема: Помогите уменьшить время исполнения запроса(( • Форум: SQL и Архитектура БД

Ответов: 16
Просмотров: 74
serikus пишет:
вопрос к автору, удалось решить проблему?
помог данный индекс? Просто у меня та же проблема с тем же Битриксом. Но только база у меня на порядок больше.
я не пробовал добавлять индекс в битрикс самостоятельно))сам понимаешь...если там что то ляжет то жесть....если в PHP код я еще ковырял....то в базу не лез...МЫ эту проблему решили самостоятельно...залезли в код и подправили структуру запросов...летать стало...только когда обновляемся ..подмениваем файл...
nikoshot Отправлено: 03 Октября, 2013 - 13:52:38 • Тема: один запрос работает на двух серверах по разному • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 11
LIME пишет:
индексы одинаково проставлены?
не путаешь ли ты запрос взятый из кэша с запросом выполняемым первый раз?

Да нет не путаю....там отключал кеш и там...специально смотрел.. на одно все норм......а на другом 9 сек..((
nikoshot Отправлено: 03 Октября, 2013 - 11:53:11 • Тема: один запрос работает на двух серверах по разному • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 11
Ребята подскажите в чем может быть причина на одном сервере один запрос работает быстро 0,3 сек а на другом 9сек хотя параметры медленного сервера в два раза выше ssd, 4GB ОЗУ а на втором 2GB.....
nikoshot Отправлено: 19 Сентября, 2013 - 14:28:59 • Тема: Помогите уменьшить время исполнения запроса(( • Форум: SQL и Архитектура БД

Ответов: 16
Просмотров: 74
Мелкий пишет:
В принципе что даёт или конкретно этот?
Конкретно этот - рассчитываю, что будет релевантен запросу в первом сообщении и, соответственно, уменьшит время обработки за счёт более быстрого отсечения строк, не удовлетворяющих секции where.

В общем - компактное отсортированное множество значений. Позволяет СУБД читать только те строки, которые точно удовлетворяют условию (или его части), вместо того, чтобы читать все строки и отбрасывать ненужные.

более менее ясно))
Ок!Я тогда когда выполню...сразу отпишусь))
СПС..
nikoshot Отправлено: 19 Сентября, 2013 - 13:47:52 • Тема: Помогите уменьшить время исполнения запроса(( • Форум: SQL и Архитектура БД

Ответов: 16
Просмотров: 74
Мелкий пишет:
Попробуйте добавить вот такой индекс:
CODE (SQL):
скопировать код в буфер обмена
  1. CREATE INDEX idx_active_status_parent ON b_iblock_element (ACTIVE, WF_STATUS_ID, WF_PARENT_ELEMENT_ID)


Таблица у вас, видимо, довольно увесистая, так что индекс может создаваться продолжительное время.
Как индекс создастся - прикрепите актуальный explain.

а что этот индекс дает???
nikoshot Отправлено: 19 Сентября, 2013 - 13:06:06 • Тема: Помогите уменьшить время исполнения запроса(( • Форум: SQL и Архитектура БД

Ответов: 16
Просмотров: 74
Мелкий пишет:
explain откуда? phpmyadmin? На вкладке структуры таблицы есть табличка индексов.

В общем случае:
CODE (SQL):
скопировать код в буфер обмена
  1. SHOW INDEX IN b_iblock_element;

explain не из phpmyadmin...
Это из админки сайта...
на тех первых mcrhby itnf[ есть какие то индексы и вот я сделал новый скрин шет по твоему запросу...
nikoshot Отправлено: 19 Сентября, 2013 - 12:51:20 • Тема: Помогите уменьшить время исполнения запроса(( • Форум: SQL и Архитектура БД

Ответов: 16
Просмотров: 74
Мелкий пишет:
explain неплох.
Какие есть индексы в таблице b_iblock_element?

А как глянуть?
nikoshot Отправлено: 19 Сентября, 2013 - 12:32:46 • Тема: Помогите уменьшить время исполнения запроса(( • Форум: SQL и Архитектура БД

Ответов: 16
Просмотров: 74
Вот вторая часть!
nikoshot Отправлено: 19 Сентября, 2013 - 12:31:41 • Тема: Помогите уменьшить время исполнения запроса(( • Форум: SQL и Архитектура БД

Ответов: 16
Просмотров: 74
Мелкий пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. EXPLAIN ваш запрос
nikoshot Отправлено: 19 Сентября, 2013 - 12:06:22 • Тема: Помогите уменьшить время исполнения запроса(( • Форум: SQL и Архитектура БД

Ответов: 16
Просмотров: 74
Мелкий пишет:
explain давайте

Подскажи как правильно его прописать?

Страниц (5): « 1 2 3 [4] 5 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB