2009-10-02 133 views
0

我有名为“link”的列的db。 链接有重定向的URL,我想改变。 我有PHP脚本,它会使用链接,给我的输出如下:在php中运行未在mysql中修改的项目脚本

$redo = get_redirect('htp://www.mydomain.com/long/url/here&ID=123'); 

print_r($rez); 

这是输出:

Array 
(
    [0] => htp://www.otherdomain.com 
) 

我怎么循环在我的数据库中的所有项目,并运行此每个项目的脚本。 我的数据库被称为“应用程序”,并表被称为“项目”,并包含一个网址列称为以上PHP脚本“链接”被称为getredirect.php

而且当我运行脚本,我需要没有“& ID运行= 123 & otherstuff =什么”

(HTP应该是http ......我不能添加每块板规则链接)

回答

0

如何循环我数据库中的所有项目,并为每个项目运行此脚本

你可以做一个简单的选择并把它放在一个数组中,并循环它?

$con = mysql_connect("localhost","peter","abc123"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("my_db", $con); 

$result = mysql_query("SELECT link FROM apps"); 

while($row = mysql_fetch_array($result)) 
    { 
     $url=implode('&', $row[0]); 
     include 'getredirect.php?url='.$url; 

    } 

mysql_close($con); 

不确定是否有帮助,您的问题对我来说还不清楚。

如果你不能确定的输出,你可以把一个print_r声明,即

while($row = mysql_fetch_array($result)) 
    { 
     print_r($row); 
     include 'getredirect.php?url='.$url; 

    } 

这将帮助您了解PHP代码更清晰

+0

它在哪里插入修改后的url到数据库? 试图清除答案: 我有这20项在我的专栏 www.something.com/whatever/&ide=123 www.something.com/whatever/&ide=456 www.something.com/whatever/&ide = 789 等 我想他们循环使用直通我getredirect.php 并插入他们回到他们的最终目标网址 这样 www.whoever.com www.somebodyelse.com www.otherplace.com 谢谢 – Ossi 2009-10-02 04:44:40

+0

我认为你的解决方案非常接近。当我运行该脚本时,它看起来像在做某事,但不知道该怎么做,并且获得了20次警告:implode()[function.implode]:传入的参数无效。 – Ossi 2009-10-02 05:08:39

+0

“它看起来像在做什么,但不知道是什么”,也许你应该阅读关于php中的数据库访问呢? – NDM 2009-10-02 08:19:11

0

看起来你get_redirect只是连接到数据库,并得到重定向功能给定网址的网址。

你可以写一个SQL查询来获取重定向所有项目:

Select urls,link from apps.items; 

你也可以修改功能defenition因此,预计多个项目,并返回approporate重定向:

function get_multiple_redirect($aItems){ 

$SQL = "Select urls,link from apps.items WHERE url IN ('" . implode("','",$aItems) ."')"; 
#... add mysql calls here 


print_r(get_multiple_redirect(array("http://abc","http://def"))); 
} 
+0

GET重定向是实际的脚本去实际的网址,并给我最终的目的地;) – Ossi 2009-10-02 04:38:59