具有多个url的PHP文件集内容



因此,基本上,我要做的是为查询生成的每一行生成一个URL并访问该URL。有趣的是,它总是只访问第一个生成的URL,而从不访问其他URL。

我做错了什么?请帮帮我。

$query = "SELECT distinct b.productname, b.seller, b.price, b.offerid 
from tracker b";
$results = mysqli_query($dbcon, $query);
$rows = array();
$i = 0;
while ($row = mysqli_fetch_assoc($results)) {
$rows[] = $row;
foreach ($rows as $row) { 
$url = 'url'.$i;
$$url = 'https://bla.com/tools/tracker.php?productID=' .
$row["productname"] . '&verkoper=' . 
$row["seller"] . '&offerid=' . 
$row["offerid"] . '&price=' . $row["price"] . 
'&productTracken=';
// set URL and other appropriate options
file_get_contents($$url);
$i++;
}
}

如果你简化你正在做的事情,你可能会得到你想要的结果

您所要做的似乎只是触摸一个由表中的数据构建的URL列表

此外,你不需要while循环和foreach循环,这肯定会导致你的问题。

$query = "SELECT distinct b.productname, b.seller, b.price, b.offerid 
from tracker b";
$results = $dbcon->query($query);
while ($row = $results->fetch_assoc()) {
$url = 'https://bla.com/tools/tracker.php?productID=' .
$row["productname"] . '&verkoper=' . 
$row["seller"] . '&offerid=' . 
$row["offerid"] . '&price=' . $row["price"] . 
'&productTracken=';
// set URL and other appropriate options
file_get_contents($url);
}

这里发生了一些奇怪的事情。

首先,你的循环:

while ($row = mysqli_fetch_assoc($results)) {
$rows[] = $row;
foreach ($rows as $row) { 

每次从数据库中提取一行时,都会将其添加到数组中。然后立即循环该数组中的所有项。如果你每次输出一个行号,你会得到0;则0、1;则0,1,2;等等

其次,您的URL变量:

$url = 'url'.$i;
$$url = 'https://...';

这使用了PHP的一个叫做变量的深奥特性:您可以动态地选择您想要的变量名。这个功能基本上是从不需要的,因为使用数组几乎总是更好的:

$urls[$i] = 'https://...';

不过,在这种情况下,一次只使用一个值,所以您可以使用一个简单的旧变量:

$url = 'https://...';

修复这些问题会给你RiggsFilly的答案中的代码,并且可能会解决你的问题。

相关内容

  • 没有找到相关文章

最新更新