2009-10-02 132 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