0

だから私の問題はこれです私はloggfileを介してループし、それらをツリー構造と比較し、構造内のIDに対応するIDを与えるコードを取得しました。多くの悪いトラフィックを取得しないように、私はすべての302以上を整理します。

問題は、構造内に特定のページタイプを持つ特定の302をカウントすることです。これは大きな問題ではありません。loggfileのURLをツリー構造のURLと一致させることができますが、構造がフレンドリURLの場合、一部のloggfileはフレンドリURLを使用しないため、問題が発生しますが、IDを一致させることができます。構造内のIDを持つクエリパラメータ。次に、必要な特別なページタイプに一致するすべてのIDの文字列を作成します。

問題は、Mysqlステートメントを機能させることができないということです。これは次のようになります。

$sqlQ1 = "SELECT `lid` FROM logfile WHERE date = '$date' AND ´query´ IN '$check'";

クエリの例は「id=4&epslanguage = sv」のようになりますので、id=Xの部分だけをチェックしたいと思います。

それはちょっと簡単な質問です本当に私は立ち往生していてそれを機能させることができません、どんな助けもありがたいです!

4

2 に答える 2

1

あなたのQは次のように思います:行のその部分からIDを抽出するにはどうすればよいですか?

「..だから、id=Xの部分だけをチェックしたい。」

その文字列を分離したら、次を使用できます。

$string = "id=4&abclang=sv";

parse_str($string);

echo $id; // 4

編集他の応答に照らして:

$strings[] = "id=4&abclang=sv";
$strings[] = "id=45&abclang=en";

$vals = array();

foreach( $strings as $string){
parse_str($string);
$vals[] = $id ;
}

$in_clause = join(",", $vals) ;
 $sql = "SELECT lid FROM logfile WHERE something  IN ($in_clause) ";
echo $sql; // SELECT lid FROM logfile WHERE something IN (4,45)
于 2012-07-25T09:01:57.200 に答える
0

すでにIDがあり、MySQLクエリをフィルタリングしてこれらの行を取得したいですか?

$check = Array(1, 2, 3, 4);
$check = implode(",", $check);
$sqlQ1 = "SELECT `lid` FROM logfile WHERE date = '$date' AND ´query´ IN ($check)";
于 2012-07-25T09:50:14.303 に答える