0

Web サイトのリストにスコアを割り当て、それを結果ページに割り当てる PHP スクリプトを作成しました。スコアと詳細が表示されるという点で動作するようになりましたが、同じ結果が何度もリストされ続けます。

それが何をしているのかはわかりませんが、リストの重複を防ぐことを望んでいたコードの小さなセクションがあります。誰かがそれを微調整して、どこかで絞り込むかどうかを確認できますか?

コードは次のとおりです。

$dupCatch .= $adId.","; 
$dupResults = explode(',', $dupCatch);

foreach($dupResults as $dupResult){

  if($dupResult == $adId){
    print "";
  } else {
    print $showResults;
    $scoreBox = 'THIS IS THE SCORE: '  . $finalScore . '';
    print $scoreBox;
  }

}

前もって感謝します!

ジャック

4

2 に答える 2

1

問題は、現在のリストが存在するかどうかを確認する$adIdに、現在のリストを重複リストに追加することです-もちろん、常に存在します。

一連の数値を文字列に格納し、explode毎回 ing するのは少し奇妙です。代わりに配列を使用してください。また、すべてのアイテムを手動でループする必要はありません。in_array()

if( !in_array($adId, $dupCatch) ){
    print $showResults;
    $scoreBox = 'THIS IS THE SCORE: '  . $finalScore . '';
    print $scoreBox;
}

$dupCatch[] = $adId;

言うまでもなく、最初に結果が重複する部分を修正することをお勧めします。

于 2012-05-28T15:48:04.740 に答える
1

PHP側から使用するかarray_unique、mysqlのフィールドで一意の属性を使用することができます。このようにして、挿入する前に重複を防ぐことができます。

于 2012-05-28T15:36:23.190 に答える