PHP を使用して、Taobao、Paipai、eBay に似た最近閲覧したアイテムの機能モデル コードを実装する方法。

WBOY
リリース: 2016-06-13 13:45:06
オリジナル
842 人が閲覧しました

PHP を使用して、淘宝、Paipai、eBay に似た最近閲覧した商品の関数モデル コードを実装します
現在プロジェクトに取り組んでおり、淘宝、Paipai、eBay に似た最近閲覧した商品の機能を使用する必要がありますインターネット上で見つからないので、ASP コードを見つけて PHP で書き直し、次のスニペットをみんなに共有しました。このコード スニペットには Cookie の書き込み部分のみが含まれており、読み取りと処理の部分は自分で書くことができます。最初に提案を投稿した人にボーナスポイントが与えられます。

/*
最近のグッズ ファイル
Urchin Studio FoxCMS
バージョン: 1.1.6
作成者: luckyfox (xhx@163.net)
著作権: Urchin Studio (www.itocean.net)
最終更新日: 2008-9-3

*/

//TempNum は一時レコードの数を表示します

$ TempNum=5;

//setcookie("RecentlyGoods", "12,31,90,39");

//RecentlyGoods RecentlyGoods 一時変数

if (isset($_COOKIE['RecentlyGoods']))
{
$RecentlyGoods=$_COOKIE['RecentlyGoods']
$RecentlyGoodsArray=explode(",", $RecentlyGoods);
$ RecentlyGoodsNum=count($RecentlyGoodsArray); //RecentlyGoodsNum には現在変数の数が格納されています

}

if($_GET['Id']!="")
{

$Id=$_GET['Id']; //ID は要求された文字です


//存在する場合は、前の文字を削除し、最後に最新の文字を追加します

if (strstr($RecentlyGoods, $Id))
{
//echo "すでに存在する場合、COOKIES は書き込まれません


";
}
else
{
if($RecentlyGoodsNum<$TempNum) //COOKIES 内の要素が指定されたサイズより小さい場合は、直接 COOKIES
{
if($RecentlyGoods=="")
{
setcookie("RecentlyGoods",$Id,time()+3600);
}
else
{
$RecentlyGoodsNew=$RecentlyGoods.",".$Id ;
setcookie("RecentlyGoods", $RecentlyGoodsNew,time()+3600);
}
}
else // 指定されたサイズより大きい場合は、最初のサイズを追加します。最後に最新記録。
{
$pos=strpos($RecentlyGoods,",")+1; //最初のパラメータの開始位置
$FirstString=substr($RecentlyGoods,0,$pos);最初のパラメータを取得します
$RecentlyGoods=str_replace($FirstString,"",$RecentlyGoods); // 最初のパラメータを削除します
$RecentlyGoodsNew=$RecentlyGoods.",".$Id; // 最新のパラメータを追加します。最後のレコード
setcookie("RecentlyGoods", $RecentlyGoodsNew,time()+3600);
}

}


}
?


-----解決策---------------------------- -
コレクション。ありがとう
------解決策----------------------
学習.. コレクション。
------解決策-----

------解決策---------
いいね!
------解決策-----

------解決策---------
jf
------解決策---------
見てください
------解決策---------
サポートされています。
------解決策---------
if (strstr($RecentlyGoods, $Id) )
{
//echo "すでに存在するので、COOKIES


を書き込まないでください。";
}

番号 100 を読み取ると、100 が保存されます。もう一度 10 番を見てください。保存できません。
------解決策----------------------
よくわかりました。 。
------解決策----------------------
学習.. コレクション。

------解決策---------
文字列検索を使用して id を処理します。このアプローチは実際には理不尽な。
PHP コード

定義('MAX_ITEMS', 5);

$id = intval($_GET['id']); // ID が整数であることを確認します。
if (isset($_COOKIE['recentlyGoods'])) {
  //すでに履歴データがあるため、新しいデータを追加します
  $goods =explode(',', $_COOKIE['recentlyGoods']) // ID 配列を取得します。
  $key = array_search($id, $goods); // 履歴データから現在の ID を検索します。
  if ($key !== false) {
    unset($goods[$key]); // 見つかった場合は削除します
  }
  $goods[] = $id //現在の閲覧 ID を追加します。
} それ以外 {
  // 履歴データがまだないため、現在の閲覧 ID を作成して追加します
  $goods = 配列($id);
}

// 配列内の履歴データ エントリが制限を超えた場合、最後のセグメントをインターセプトします
if (count($goods) > MAX_ITEMS) {
  // MAX_ITEMS レコードを下から順に抽出
  $goods = array_slice($goods, 0 - MAX_ITEMS, MAX_ITEMS);
}

setcookie('recentlyGoods', join(',', $goods), time()+3600);
 <div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!