ホームページ  >  記事  >  バックエンド開発  >  新浪IPデータベースに基づいて都市を決定

新浪IPデータベースに基づいて都市を決定

WBOY
WBOYオリジナル
2016-06-23 13:32:331500ブラウズ

PHP は、新浪 IP データベースに基づいて訪問者の都市を決定し、データベース フィールドに設定されている都市と一致します
たとえば、訪問者の都市が北京であると判断し、データベースと一致します 現在の訪問者の都市 = ID 1 の都市フィールドの場合、 result a 出力結果 ab と等しくない場合
データベースは以下の通りです
-------------------------------- ------- -------- d ID 都市情報

1 北京、上海、深センなどの都市
2 南京、武漢など 2-階層都市
----------------------------------------------- ---------- -------------------------------------- --

このように、一級都市と二級都市の分類を表に設定するのは合理的ですか?
指定したエリアをブロックし、背景に一級都市または二級都市を設定し、ユーザーの都市に応じてデータベースを照合し、異なる結果を出力したいと考えています。
具体的なPHPコードを教えてください。 。 。 。


ディスカッション(解決策)への返信

こんな感じですか?

rree

こんな感じですか?

$query = mysql_query("select id from table where city like '%北京市%'") or die(mysql_error());$thread = mysql_fetch_assoc($query);$id = isset($thread['id'])? $thread['id'] : 0;if($id>0){ // 表示找到匹配    echo 'a';}else{    echo 'ab';}



テーブルA
------------------------
ID名オープン
1 Zhang San 0
2 Li Si 1
-- ------------ -----
IP 都市ブロッキング テーブルを設定したいです。たとえば、テーブル A の ID を 1 に設定し、シールド エリアを Tier 1 都市に設定します。 Tier 2、または指定都市
次に、テーブル B (IP 都市ブロッキングテーブル) の設計方法

オープンフィールドは何をするのですか?
テーブルA
------------------------
IDネームオープン
1 張三 0
2 リーシー 1
------- ------- -----

テーブル都市は次のように設計されています
id 1級都市 1
2 上海 1級都市 1
3 深セン 1級都市 1
4 南京 2 級都市 2
5武漢 2 層都市 2
-------------------------------------- -- ------------------

IP 都市ブロックテーブル
id、uid、city_id city_group
1 1 0 1
2 2 0 1
3 1 0 2
4 0 First -層都市。

Zhang San によってブロックされている都市を確認してください。
select * from ip where uid=1; グループと city_id セットを見つけます

次に select * from city where group not in($group) and city_id not in($city_id);


最初のポイントは...各 IP に対応する州と都市のデータが存在します... 次に、取得した IP を基に該当する都市を見つけて、該当する都市の URL にジャンプします... ただし、スクリプトは一般的に使用されます。 detect... プログラム内の Detected では使用されません。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。