[Tep-j-general] 全商品一覧 list.php

アーカイブの一覧に戻る

hamada bungu****@leo*****
2002年 12月 16日 (月) 12:00:02 JST


こんにちわ。

「TEPの商品が検索エンジンに拾ってもらえない」問題をなんとかできないかと
色々テストしていますが、とりあえず「TEP商品の一覧表を作る」簡単なスクリ
プト、list.phpというのを作ってみました。

「メーカー」「品番(リンク)」「価格」「品名」

という形式で、全商品の一覧表を作成するだけのスクリプトです。ソートはメー
カー名→品番の順。

・/catalog(default.phpと同じトコ)に設置
・スクリプトの文字コードがeuc
・「サーチエンジン対策のURLを使用(開発中)」がTrue

当方の実力不足により、以上を決め打ち。

当初はhtmlを静的生成するプログラムとかスクリプトをcronで走らせることを考
えていたのですが、PHP+MySQL(+PHP Accelerator)は十分に早いので、クローラー
が動的生成した一覧を読み込んでリンクを追っかけてくれるならコレが一番手間
が掛からなくていいなぁ、と。

当方はphpスクリプトとか書いたことがありませんしsqlも知りませんので、TEP
のソースとかから文字通り切り貼りして作っています。おそらく変なことしてる
だろうと思いますが、笑わないでください。

とりあえず当初の目的である「一覧生成」だけは出来るようになったみたいで、
出力をInfoseekとGoogleが読み込んでくれることまでは確認しました。クローラー
によるリンクの追跡は、未だ行なわれていませんので「結果待ち」状態。

「基本的に人間が読むことを想定していない」ため出力のデザインは無いも同然
の状態ですし、自分が必要と思う要素しか出力してません。使用する場合は改造
を前提にしてください。当方は恥知らずにもinfomation.phpに

<A href="list.php">全商品一覧</A>

とか書いて、この状態でリンクしましたけど。

バグもあると思いますので、Developの方等で、解る方が直してくださることを
期待してます(当方はDevelopには参加してません)

はまだ



list.php
----------

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html dir="LTR" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> 
<title>全商品一覧</title>
</head>

<body>

<A href="default.php">ショップに戻る</A><br><br>

<?php

require ('includes/configure.php');

$db = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);

mysql_select_db("scatalog",$db);

$result = mysql_query("SELECT m.manufacturers_name, p.products_id, p.products_model, p.products_price, d.products_name FROM manufacturers m, products p, products_description d where p.products_id=d.products_id and p.manufacturers_id=m.manufacturers_id order by m.manufacturers_name , p.products_model",$db);

echo "<table border=1>\n";

echo "<tr><td>メーカー</td><td>品番</tr><td>価格(円)</tr><td>品名</tr>\n";

while ($myrow = mysql_fetch_row($result)) {

 printf("<tr><td>%s</td><td><a href=\"". HTTP_SERVER . DIR_WS_CATALOG ."product_info.php/products_id/%s\">%s</a></td><td>%s</td><td>%s</td></tr>\n", $myrow[0], $myrow[1], $myrow[2], $myrow[3], $myrow[4], $myrow[5]);

}

echo "</table>\n";

?>

<br><A href="default.php">ショップに戻る</A><br>

</body>

</html>






Tep-j-general メーリングリストの案内
アーカイブの一覧に戻る