Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/06/2008, 12h29   #1
Membre à l'essai
 
Inscription : décembre 2007
Messages : 132
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 132
Points : 24
Points : 24
Par défaut Boucle While et les variables

Bonjour,

J'ai un petit problème car mon code ne fonctionne pas...je suppose que cela vienne du fait que j'ai mis $i=01.

Le problème est que les pages à récupérer par la suite contiennent à la fin de l'url: 01.html, 02.html...10.html, 11.html...

Si vous pourriez me donner un coup de main ca serait sympa

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
$text = file_get_contents("http://www.monsite.ru/page/page-01.htm");
 
//On converti les caractères html &lt; etc...en balise html    
$a = html_entity_decode($text);
 
    // extraction nombre de pages
    $pattern = preg_match_all(
  "#Total pages: [0-9]{0,2}#i",
          $a,
          $match2
      );
if ($pattern) 
{
foreach($match2[0] as $resultat) 
{
//Je n'ai que besoin du nombre de pages donc on scinde pour récupérer ce qui interesse
list($totalpages, $nbrepages) = split("pages: ", $resultat);
    echo "Nombre de pages:", $nbrepages, "\n\n <br><br>";
}
}
 
while($i=01; i<=$nbrepages; i++)
{
$text = file_get_contents("http://www.monsite.ru/page/page-$i.htm");
 
//Le reste de mon code...
}
?>
joboy84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 12h42   #2
Membre à l'essai
 
Inscription : décembre 2007
Messages : 132
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 132
Points : 24
Points : 24
J'ai fait:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
while($i=1; $i<=$nbrepages; $i++)
{
if($i < 10)
{
$text = file_get_contents('http://www.monsite.ru/page/page-0'.$i.'.htm');
}
else 
{
$text = file_get_contents('http://www.monsite.ru/page/page-'.$i.'.htm');
}
if ($text == FALSE)
{
//Le reste du code..
}
?>
MAis cela me retourne

Parse error: syntax error, unexpected ';'

pour

while($i=1; $i<=$nbrepages; $i++)
joboy84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 12h47   #3
Membre habitué
 
Inscription : août 2006
Messages : 163
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 163
Points : 112
Points : 112
bonjour,

normalement ça ressembre plutot à une structure de boucle for ca non?
ou alors
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
$i=1
while( $i<=$nbrepages){
if($i < 10)
{
$text = file_get_contents('http://www.monsite.ru/page/page-0'.$i.'.htm');
}
else 
{
$text = file_get_contents('http://www.monsite.ru/page/page-'.$i.'.htm');
}
if ($text == FALSE)
{
//Le reste du code..
}
$i++;
gerald57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 12h50   #4
Membre habitué
 
Inscription : août 2006
Messages : 163
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 163
Points : 112
Points : 112
ou alors

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
for($i=1; $i<=$nbrepages; $i++)
{
if($i < 10)
{
$text = file_get_contents('http://www.monsite.ru/page/page-0'.$i.'.htm');
}
else 
{
$text = file_get_contents('http://www.monsite.ru/page/page-'.$i.'.htm');
}
if ($text == FALSE)
{
//Le reste du code..
}
?>
gerald57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 12h53   #5
Membre confirmé
 
othmane bentalha
Inscription : mai 2006
Messages : 257
Détails du profil
Informations personnelles :
Nom : othmane bentalha
Âge : 25

Informations forums :
Inscription : mai 2006
Messages : 257
Points : 228
Points : 228
Bonjour,
si ton problème vient de là tu peux faire juste comme ça:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
for($i=1; i<=$nbrepages; i++)
{
if($i<10)
 {
   $num_page='0'.$i;
 }
else
  {
   $num_page=$i;
  }
 
$text = file_get_contents("http://www.monsite.ru/page/page-$num_page.htm");
 
//Le reste de mon code...
}
othmane126 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 13h16   #6
Membre à l'essai
 
Inscription : décembre 2007
Messages : 132
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 132
Points : 24
Points : 24
Ca marche, merci à vous pour votre aide!


Bonne journée
joboy84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h58.


 
 
 
 
Partenaires

Hébergement Web