[Tep-j-general] Re: 「この商品を買った人は、こんな商品も買っています」で表示させたくない商品があります

Back to archive index

karu karu****@ipc-t*****
2005年 12月 15日 (木) 02:39:28 JST


お世話になります。
karuです。

よくわからないながらも、自分でやってみたら、すべての商品で90000番台が
表示されなくなりました。
あと少しでできそうなのですが、現在表示中の商品の型番が空になってしまっ
ているようで、条件の「90000以下」が常にtrueになっているようです。

どなたか、現在の商品型番の取り出し方を教えていただけないでしょうか?

できてないから間違っているのでしょうが、わたしのなかでは
$HTTP_GET_VARS['products_model']
に入る予定でした、、(^^;


リファレンスのサイトを見たら、「next;」は恐らく間違っているのだと気づ
き、29行目付近のwhileの後ろを

>>  while ($orders = tep_db_fetch_array($orders_query)) {
>>  $orders['products_name'] = tep_get_products_name($orders['products_id']);

>>  if ($HTTP_GET_VARS['products_model'] < 90000 && $orders['products_model'] >= 90000) { continue; }
にしてみて、$HTTP_GET_VARS['products_model']にお客様が見ようとしている
商品の型番を入れたいです。

よくわからないながらも、他に変更した場所がもう一箇所ありまして、
14行目付近の
>>  if (isset($HTTP_GET_VARS['products_id'])) {
>>    $orders_query = tep_db_query("select p.products_id, p.products_image, p.products_model from " . TABLE_ORDERS_PRODUCTS . " opa, " . TABLE_ORDERS_PRODUCTS . " opb, " . TABLE_ORDERS . " o, " . TABLE_PRODUCTS . " p where opa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and opa.orders_id = opb.orders_id and opb.products_id != '" . (int)$HTTP_GET_VARS['products_id'] . "' and opb.products_id = p.products_id and opb.orders_id = o.orders_id and p.products_status = '1' group by p.products_id order by o.date_purchased desc limit " . MAX_DISPLAY_ALSO_PURCHASED);

という部分なのですが、
>>tep_db_query("select p.products_id, p.products_image from "
を
>>tep_db_query("select p.products_id, p.products_image, p.products_model from "
にしました。これは間違っていますでしょうか?


よろしくお願いいたします。




長くなってしまい申し訳ありませんが、
以下に50行ほどのソースを貼らさせていただきます。
--
<?php
/*
  $Id: also_purchased_products.php,v 1.1.1.1 2003/02/20 01:03:54 ptosh Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

  if (isset($HTTP_GET_VARS['products_id'])) {
    $orders_query = tep_db_query("select p.products_id, p.products_image, p.products_model from " . TABLE_ORDERS_PRODUCTS . " opa, " . TABLE_ORDERS_PRODUCTS . " opb, " . TABLE_ORDERS . " o, " . TABLE_PRODUCTS . " p where opa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and opa.orders_id = opb.orders_id and opb.products_id != '" . (int)$HTTP_GET_VARS['products_id'] . "' and opb.products_id = p.products_id and opb.orders_id = o.orders_id and p.products_status = '1' group by p.products_id order by o.date_purchased desc limit " . MAX_DISPLAY_ALSO_PURCHASED);
    
    $num_products_ordered = tep_db_num_rows($orders_query);
    if ($num_products_ordered >= MIN_DISPLAY_ALSO_PURCHASED) {
?>
<!-- also_purchased_products //-->
<?php
      $info_box_contents = array();
      $info_box_contents[] = array('text' => TEXT_ALSO_PURCHASED_PRODUCTS);

      new contentBoxHeading($info_box_contents);

      $row = 0;
      $col = 0;
      $info_box_contents = array();
      while ($orders = tep_db_fetch_array($orders_query)) {
        $orders['products_name'] = tep_get_products_name($orders['products_id']);

      if ($HTTP_GET_VARS['products_model'] < 90000 && $orders['products_model'] >= 90000) { continue; }

        $info_box_contents[$row][$col] = array('align' => 'center',
                                               'params' => 'class="smallText" width="33%" valign="top"',
                                               'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $orders['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $orders['products_image'], $orders['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $orders['products_id']) . '">' . $orders['products_name'] . '</a>');

        $col ++;
        if ($col > 2) {
          $col = 0;
          $row ++;
        }
      }

      new contentBox($info_box_contents);
?>
<!-- also_purchased_products_eof //-->
<?php
    }
  }
?>



-- 
karu <karu****@ipc-t*****>





Tep-j-general メーリングリストの案内
Back to archive index