hamada
bungu****@leo*****
2006年 4月 13日 (木) 16:13:57 JST
こんにちわ。 On Sat, 08 Apr 2006 09:03:20 +0900 hamada <bungu****@leo*****> wrote: > 直接所属カテゴリを表示するのか、上位カテゴリを表示するのか。重複登録カテ > ゴリをどう処理するか等でいろんなケースが考えられましたので、ココは全部端 > 折ってます。必要な場合は適当に実装してください。 「どうすべきか解んないから丸っきり端折る」 ってのもすごく不親切な気がしたので、もっとも一般的と思われる 「所属カテゴリを表示」 として実装してみました。非常にテキトーに(^_^;) カテゴリ部はメインと別動作になってますんで、違う方式で作動させたい場合は 好きなように弄ってください。 その他、細部を微妙に弄ってます(殆どバグ修正かもしれず:^^;) はまだ ------------------------------------------------------- <?php require('includes/application_top.php'); //初期設定 $limit = 1000; $encode = "SJIS"; $file = "yahoolist.txt"; $separator = "\t"; $tax = 1.05; //クエリを投げる $sql = "select distinct p.products_id, pd.products_name, IF(s.status, s.specials_new_products_price, p.products_price) as price, pd.products_description, p.products_image, p.products_model from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_id = pd.products_id and pd.language_id = '4' and p.products_status = '1' order by p.products_id desc limit " . $limit; $result = tep_db_query($sql); //ファイルの書込み処理 $fp=fopen($file, "w"); flock($fp,2); //データ見本部の書込み $str = "id" . $separator . "title" . $separator . "url" . $separator . "price" . $separator . "desc" . $separator . "image" . $separator. "path" . $separator . "no" . "\r\n"; fwrite($fp, $str); //メインループ while($data = tep_db_fetch_array($result)) { //1行分のデータを作成 $str = $data['products_id']; $str .= $separator; $str .= $data['products_name']; $str .= $separator; $str .= HTTP_SERVER . DIR_WS_CATALOG . FILENAME_PRODUCT_INFO . "/products_id/" . $data['products_id']; //「検索エンジン対策のurl」がfalseなら"?products_id=" $str .= $separator; $str .= round($data['price'] * $tax); //手抜き(^^;; $str .= $separator; $str .= mb_strimwidth(strip_tags(ereg_replace("\n|\r", "", $data['products_description'])), 0, 256); $str .= $separator; $str .= HTTP_SERVER . DIR_WS_CATALOG . DIR_WS_IMAGES . $data['products_image']; $str .= $separator; //カテゴリを(適当に)引く $sql2 = "select cd.categories_name from " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where p2c.products_id = '" . $data['products_id'] . "' and p2c.categories_id = cd.categories_id and cd.language_id ='4' limit 1"; //カテゴリ取得のクエリを投げる $categorie_query = tep_db_query($sql2); //カテゴリが取得出来てれば出力 if ($cat = tep_db_fetch_array($categorie_query)){ $str .= $cat['categories_name']; } $str .= $separator; $str .= substr($data['products_model'], 0, 20); $str .= "\r\n"; //文字コードの変換 $str = mb_convert_encoding($str, $encode); //書込み fwrite($fp, $str); } //書込み終了処理 flock($fp,3); fclose($fp); ?>