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

我认为您的问题是:如何从行的那一部分中提取 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 回答