proble avec un while...

balistik35 Messages postés 6 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 13 février 2009 - 30 mai 2006 à 10:37
balistik35 Messages postés 6 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 13 février 2009 - 31 mai 2006 à 10:23
Bonjour j ai un proble avec un code source que je dois developper.

Le principe est de recuperer via une classe le code HTTP d'URLS présentes dans une base de données MySQL.

J arrive a recuperer les URLs sans problemes mais deux problemes subviennent :

 1 - je n arrive pas a recuperer le bon ID corespondant à l'url

 2 - surtout je na rrive pas a recuperer le code http.


code (un peu raccourci) :


for( $toto = 0; $toto < count( $urlInContent ); $toto++ ){

    for( $i = 0; $i < count( $urlInContent[$toto] ); $i++ ){

   

    foreach ($urlInContent[$toto][$i] as $url) { $client -> head($url);

    while(list($urlInContent[$toto],$value) = each($checker->_urls)){

             <td>'.$id_article_content[$toto].'</td>

            
<td>'.$urlInContent[$toto][$i].'</td>

             <td>'.$value.'</td>

            </tr>';

        }//fin du if   

      }//fin while

    }//fin du for

}//fin du for


ps : les balises <tables> et <tr> sont bien sur dans le code

le probleme vient de la ligne while et m affiche dans ma page :
Warning: Variable passed to each() is not an array or object in /home/sites/ville_lechesnay/lechesnayfr2/web/check/checklinkcontent.php on line 156

quand je met la ligne en commentaire l affichage se fait bien comme je souhaite mais sans el code http bien sur.

j ai tenté de faire un echo gettype et ça me retourne array $urlInContent[$toto] ou object pour $checker.


merci d avance

3 réponses

xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
30 mai 2006 à 10:42
a un moment tu fait un for
for( $toto = 0; $toto < count( $urlInContent ); $toto++ ){

et un autre
for( $i = 0; $i < count( $urlInContent[$toto] ); $i++ ){

donc a un moment tu compare $i avec une valeur de tableau et toto tu le compare sans parametre je pense que c'est sa qui bloque (enfin pas sur :/)
0
balistik35 Messages postés 6 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 13 février 2009
30 mai 2006 à 11:20
si je ne met qu'une seule boucle, ça n affiche pas les URL, ça na
ffiche que array et de plus ça l affiche en boucle donc ça fais planter
ma page. L es deux boucles for sont necessaires.

le truc serait de modifier la ligne
while(list($urlInContent[$toto],$value) = each($checker->_urls)){
sans faire de while mais je ne trouve pas comment faire :/
0
balistik35 Messages postés 6 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 13 février 2009
31 mai 2006 à 10:23
désolé d'insister mais j'ai besoin d'une réponse, car c est un peu urgent :/

le probleme vient de ma boucle while :

while(list($urlInContent[$toto],$value) = each($checker->_urls)){


me retournant ce message : Warning: Variable passed to each() is not an array or object


or en retournant des gettype, $checker est bien de type object, et $urlInContent est un array.

comment puis-je modifier le while ou alors remplacer le each par une autre syntaxe?

merci de me repondre
0
Rejoignez-nous