2009-10-02 5 views
0

J'ai DB avec colonne appelée "lien". Les liens ont des URL de redirection que je veux changer. Je script php, qui prendrait le lien et me donne la sortie comme suit:Exécuter un script en PHP pour les éléments non encore modifiés dans mysql

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

print_r($rez); 

c'est la sortie:

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

comment puis-je boucle tous les éléments dans ma base de données et exécuter cette script pour chaque article. mon db est appelé « apps » et une table est appelée « éléments » et la colonne contenant urls est appelé « lien » ci-dessus script php est appelé getredirect.php

Aussi quand j'exécuter le script que je dois courir sans le "& ID = 123 & = autreschoses quelle que soit »

(HTP censé être http ... Je ne peux pas ajouter des liens par des règles du conseil d'administration)

Répondre

0

comment boucle dois-je tous les articles dans ma base de données et exécuter ce script pour chaque élément

Pouvez-vous simplement faire une sélection simple et la mettre dans un tableau, et la faire défiler?

$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); 

Je ne sais pas si cela vous aide, votre question n'est pas claire pour moi.

Si vous n'êtes pas sûr de la sortie, vous pouvez mettre une déclaration print_r, c.-à-

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

    } 

Cela vous aidera à comprendre le code PHP plus clair

+0

Où insère-t-il l'URL modifiée de nouveau à la base de données? Essayer d'effacer la réponse: J'ai ces 20 articles dans ma colonne www.something.com/whatever/&ide=123 www.something.com/whatever/&ide=456 www.something.com/whatever/&ide = 789 etc Je veux les boucles à travers l'aide de mon getredirect.php et les reinsére avec leurs urls de destination finale comme celui-ci www.whoever.com www.somebodyelse.com www.otherplace.com Merci – Ossi

+0

Je pense que votre solution est vraiment proche. Quand je lance le script, on dirait qu'il fait quelque chose, mais ne sais pas quoi, et obtient ceci 20 fois Attention: implode() [function.implode]: Arguments non valides passés en .... ligne 10 ??? – Ossi

+0

"il ressemble à son faire quelque chose, mais ne sais pas quoi", peut-être que vous devriez lire sur l'accès à la base de données en php alors? – NDM

0

On dirait que votre get_redirect est juste une fonction qui se connecte à DB et obtient la redirection URL pour une URL donnée

Vous pouvez écrire une requête SQL pour obtenir réoriente pour tous les éléments:

Select urls,link from apps.items; 

Vous pouvez également modifier la fonction defenition il attend plusieurs articles et retourne approporate réoriente:

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 redirection est scénario réel qui va URL réelle et me donne la destination finale;) – Ossi

Questions connexes