AlexFisher

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

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

AlexFisher    194

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

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

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

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


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

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

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

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

<?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;
   }
   
   

?>

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


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

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

С уважением.

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


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

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

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

С уважением.

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


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

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

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

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


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

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

С уважением.

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


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

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


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

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

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

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


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

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

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


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

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

 

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

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

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


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

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

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

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

<?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 пользователей онлайн

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