Перейти к содержанию
AlexFisher

[Вопрос] товары ВНЕ магазина

Рекомендуемые сообщения

Собственно, сабж.

Интересует вывод случайных товаров(или по тегу) на другом сайте.

У меня просто что-то вроде глоссария прикручено к сайту - хочется, чтоб, к примеру, человек просматривает термины из аудиотехники - ему автоматом че-нть из этой категории магазина вываливается. Надеюсь, понятно объяснил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собственно, сабж.

Интересует вывод случайных товаров(или по тегу) на другом сайте.

У меня просто что-то вроде глоссария прикручено к сайту - хочется, чтоб, к примеру, человек просматривает термины из аудиотехники - ему автоматом че-нть из этой категории магазина вываливается. Надеюсь, понятно объяснил.

<?php
/// DB
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'open');
define('DB_PASSWORD', 'pass');
define('DB_DATABASE', 'open');
define('DB_PREFIX', '');

$db = mysql_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
mysql_select_db(DB_DATABASE ,$db);

$query = "SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, wcd.unit AS weight_class FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "weight_class_description wcd ON (p.weight_class_id = wcd.weight_class_id) WHERE p.date_available <= NOW() AND p.status = '1' ORDER BY RAND() LIMIT 12";

$products = getArray(query($query, $db));

echo '<table width="915">';
   for ($j = 0; $j < sizeof($products); $j++) {
  
   echo '<tr>';
   $i=$j+3;
   for(;$j<$i;$j++){
      if($i<sizeof($products)){
   echo '
 	<td width="305">
   	<table width="300">
        <tr>
 		<td colspan="2" align="right" style="padding: 30px 5px 0 5px;"><a style="text-decoration: none;  color: #006; font-size: 16px; font-weight: bold;" href="' . $products[$j]['href'] . '">'.  $products[$j]['name'] .'</a></td>
        </tr>
        <tr>
            <td width="30%">
            <img src="image/'.  $products[$j]['thumb'] .'" title="'.  $products[$j]['name'] .'" alt="'.  $products[$j]['name'] .'" width="150" height="150" />
 		</td>
 		<td width="70%">
            <span style="color: #fff; font-size: 13px; font-weight: bold;">?™?¦????: </span><a href="'.  $products[$j]['manufacturer_link'] .'" style="text-decoration: none;">'.  $products[$j]['manufacturer'] .'</a><br />
            <span style="color: #fff; font-size: 13px; font-weight: bold;">?“?’??: </span>'.  $products[$j]['model'] .'<br /><br />
            
            <span style="color: #fff; font-size: 13px;"><a href="'. $products[$j]['href'] .'" style="text-decoration: none;">[ ???•?“ ... ]</a</span><br />
 		</td>
        </tr>
   		<tr>
            <td>
            <span style="color: #900; font-weight: bold;">'.  $products[$j]['price'] .'</span>
            <br />
            <br />
            </td>
          </tr>
          </table>
   	</td>
   ';
 		}else{
      echo '<td></td>';
      }
   }
   echo '</tr>';
  }

  echo '</table>';




mysql_close($db);

   function query($sql, $db) {
      $resource = mysql_query($sql, $db);

      if ($resource) {
 		if (is_resource($resource)) {
            $i = 0;
   	
            $data = array();
      
            while ($result = mysql_fetch_assoc($resource)) {
       		$data[$i] = $result;
   	
       		$i++;
            }
            
            mysql_free_result($resource);
            
            return $data;   
          } else {
            return TRUE;
 		}
      } else {
            exit('Error!');
   	}
 	}
   
   
   function getArray ($results) {
   $products = array();
   foreach ($results as $result) {
 		if ($result['image']) {
            $image = $result['image'];
 		} else {
            $image = 'no_image.jpg';
 		}
 		
 		$price = $result['price'];
 		
      
 		$products[] = array(
            'name'    => $result['name'],
            'model'   => $result['model'],
            'shortdescription'  => mb_substr(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'), 0, 180),
            'manufacturer'   => $result['manufacturer'],
            'manufacturer_link' => 'index.php?route=product/manufacturer&manufacturer_id=' . $result['manufacturer_id'],
            'thumb'   => $image,
            'price'   => $price,
            'href'    => 'index.php?route=product/product&product_id=' . $result['product_id']
 		);
      }
      return $products;
   }
   
   

?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Большое спасибо! Будем пробовать.

С уважением.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хм. Картинки не кажет никак( Я и размер подогнал как в тумбсах на сайте..

И кодировка крякозяблами, хотя в файле стоит utf-8. Странно. Едем дальше.

С уважением.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

URL впишите правильный.

Фразы зашиты в код уже "кривые", поэтому надо подправить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чет, не вижу, куда URL вписывать. Запутался.

С уважением.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
<img src="image/'.  $products[$j]['thumb'] .'
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все шикарно работает! Правда, на лету изменилось решение и фишка не нужна. =)

Спасибо, коллега.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как округлить цены чтобы без 0000 после запятой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как округлить цены чтобы без 0000 после запятой?

 

42 строка как то решилось само собой)

<span style="color: #900; font-weight: bold;">'. round($products[$j]['price'],2) .'</span>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собственно, сабж.

Интересует вывод случайных товаров(или по тегу) на другом сайте.

У меня просто что-то вроде глоссария прикручено к сайту - хочется, чтоб, к примеру, человек просматривает термины из аудиотехники - ему автоматом че-нть из этой категории магазина вываливается. Надеюсь, понятно объяснил.

<?php
/// DB
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'open');
define('DB_PASSWORD', 'pass');
define('DB_DATABASE', 'open');
define('DB_PREFIX', '');

$db = mysql_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
mysql_select_db(DB_DATABASE ,$db);

$query = "SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, wcd.unit AS weight_class FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "weight_class_description wcd ON (p.weight_class_id = wcd.weight_class_id) WHERE p.date_available <= NOW() AND p.status = '1' ORDER BY RAND() LIMIT 12";

$products = getArray(query($query, $db));

echo '<table width="915">';
   for ($j = 0; $j < sizeof($products); $j++) {
  
   echo '<tr>';
   $i=$j+3;
   for(;$j<$i;$j++){
      if($i<sizeof($products)){
   echo '
 	<td width="305">
   	<table width="300">
        <tr>
 		<td colspan="2" align="right" style="padding: 30px 5px 0 5px;"><a style="text-decoration: none;  color: #006; font-size: 16px; font-weight: bold;" href="' . $products[$j]['href'] . '">'.  $products[$j]['name'] .'</a></td>
        </tr>
        <tr>
            <td width="30%">
            <img src="image/'.  $products[$j]['thumb'] .'" title="'.  $products[$j]['name'] .'" alt="'.  $products[$j]['name'] .'" width="150" height="150" />
 		</td>
 		<td width="70%">
            <span style="color: #fff; font-size: 13px; font-weight: bold;">?™?¦????: </span><a href="'.  $products[$j]['manufacturer_link'] .'" style="text-decoration: none;">'.  $products[$j]['manufacturer'] .'</a><br />
            <span style="color: #fff; font-size: 13px; font-weight: bold;">?“?’??: </span>'.  $products[$j]['model'] .'<br /><br />
            
            <span style="color: #fff; font-size: 13px;"><a href="'. $products[$j]['href'] .'" style="text-decoration: none;">[ ???•?“ ... ]</a</span><br />
 		</td>
        </tr>
   		<tr>
            <td>
            <span style="color: #900; font-weight: bold;">'.  $products[$j]['price'] .'</span>
            <br />
            <br />
            </td>
          </tr>
          </table>
   	</td>
   ';
 		}else{
      echo '<td></td>';
      }
   }
   echo '</tr>';
  }

  echo '</table>';




mysql_close($db);

   function query($sql, $db) {
      $resource = mysql_query($sql, $db);

      if ($resource) {
 		if (is_resource($resource)) {
            $i = 0;
   	
            $data = array();
      
            while ($result = mysql_fetch_assoc($resource)) {
       		$data[$i] = $result;
   	
       		$i++;
            }
            
            mysql_free_result($resource);
            
            return $data;   
          } else {
            return TRUE;
 		}
      } else {
            exit('Error!');
   	}
 	}
   
   
   function getArray ($results) {
   $products = array();
   foreach ($results as $result) {
 		if ($result['image']) {
            $image = $result['image'];
 		} else {
            $image = 'no_image.jpg';
 		}
 		
 		$price = $result['price'];
 		
      
 		$products[] = array(
            'name'    => $result['name'],
            'model'   => $result['model'],
            'shortdescription'  => mb_substr(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'), 0, 180),
            'manufacturer'   => $result['manufacturer'],
            'manufacturer_link' => 'index.php?route=product/manufacturer&manufacturer_id=' . $result['manufacturer_id'],
            'thumb'   => $image,
            'price'   => $price,
            'href'    => 'index.php?route=product/product&product_id=' . $result['product_id']
 		);
      }
      return $products;
   }
   
   

?>

 

 

Подскажите пожалуйста как отделить основной код от шаблона Вывода и раскидать его по отдельным файлам?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×