0

ウェブサイトに php と mysql を使用して、非常にシンプルな広告サーバーを作成しています。このサイトには現在、多くの動的コンテンツを含む 4 つまたは 5 つの静的ページがあるため、URL は次のようになります index.php?pid=1content.php?spec=2

私がやりたいことは、広告が表示されるページを追跡するために、広告のテーブルにフィールドを追加することです。

広告を含む URL をコンマ区切り値のリストとして保存する必要がありますか?

この変数を取得したら、値を配列に分割する最良の方法は何ですか?

ページ名と変数を分割できるように文字列を分割する最良の方法は何ですか$_GET(上記の例を使用して、'index, pid, 1' または 'content, spec, 2' のように) ??

追加情報: 例として、docs.php は次のような構造になっています。

  • doctors.php 医師の専門分野一覧
  • doctors.php?spec=#特定の専門分野を持つ医師のリスト
  • doctors.php?pid=#1 つの特定の医師の情報

私には数十の専門分野があり、数百人の医師がいます。特定のページや URL に広告を掲載できるようにしたいと考えています。doctors.php?pid=7

しかし、たとえば、ID が 6 の専門分野を持つすべての医師に基づいて広告を掲載できるようにしたいと考えています。これは 60 ページ以上になる可能性があるため、個別のテーブル行を使用することはあまり意味がありません。 . 広告のリンクを変更する必要がある場合、60 回も変更したり検索したりする必要はありません。

4

4 に答える 4

2

CSVとして保存しないでください。

広告とURLの組み合わせごとに個別のデータベース行を追加します。

そうすれば、コンテンツの取得は簡単になります。

于 2012-09-20T17:00:05.120 に答える
0

これが私がうまくいくと思うものです...

広告テーブルには 3 つの変数 (a、b、c) があります。

に広告を配置した場合doctors.php?spec=12、次のものを保存します。

  • a = 'doctors';
  • b = 'spec';
  • c = '12';

広告がすべての専門ページに表示されることを意図していた場合、次の情報を保存します。

  • a = 'doctors';
  • b = 'spec';
  • c = NULL;

何かが NULL の場合、単にセットのすべてを示します。エレガントなソリューションのように思えます。機能する場合はコードを投稿します。

于 2012-09-20T17:42:54.553 に答える
0

シンプルなファイルに URL を 1 行に 1 つずつ格納します。PHP関数「ファイル」を使用して、このファイルを配列として読み取ることができます。

URL分割にはhttp://php.net/parse_url関数を使用します

于 2012-09-20T17:02:07.253 に答える
-2
$url = "index.php?pid=1";
$pos = strpos($url, "?");

if ($pos != false) {
  $pieces1 = explode("?", $url);
  $pieces2 = explode("=", $pieces1[1]);
  $array = array($pieces1[0], $pieces2[0], $pieces2[1]);
}else{
  $array = array($url, '', '');
}

print_r($array);

例:index.php?v = hello&t = worldの場合、URL内の複数の変数に対してこのコードを機能させるには、このコードを改善する必要があります。

また、私はこのコードをテストしませんでした。機能などを確認せずに書いただけです。

于 2012-09-20T17:07:48.717 に答える