Précédent   Forum des professionnels en informatique > PHP > Scripts
Scripts Forum d'entraide sur les scripts PHP téléchargés. Les meilleurs scripts PHP, la FAQ scripts PHP, toutes les FAQ PHP
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 01/10/2006, 19h21   #1
Invité de passage
 
Inscription : juillet 2005
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 8
Points : 2
Points : 2
Envoyer un message via MSN à actarus44
Par défaut tableau PHP numéroter array

Bonjour,

Petit problème avec mon script qui scan un dossier contenant des photos.

le but étant de pouvoir numéroter dynamiquement le nombre d'image présentent dans le dit dossier.

Le problème est que si par exemple le dossier contient 12 images, le srcipt m'affiche 12 zéro et j'aimerai qu'il affiche 1-2-3-4-5-6-7-etc.-12.

Voilà merci d'avance :-)

le script:

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
 <?
 
$dir = "popup/".$id."/";
$file = $image;
 
 
$rep = opendir($dir); 
 
while ($f = readdir($rep)) {
   if(is_file($dir.$f)) {
 
      $contenu = array($f);
 
      for($i=0;$i<sizeof($contenu);$i++) 
    { 
 
    echo "<a href=".$dir.$contenu[$i].">".$i."</a>"; 
    } 
 
   }
} 
closedir($rep); 
 
?>
actarus44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2006, 19h34   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Ne serait-ce pas mieux ainsi :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<?php
$dir = "popup/$id/";
$file = $image;
$rep = opendir($dir);
$contenu = array();
while ($f = readdir($rep)) {
    if(is_file($dir.$f)) {
        $contenu[] = $f;
    }
}
closedir($rep);
for ($i = 0; $i < count($contenu); $i++) { 
    echo '<a href="' . $dir . $contenu[$i] . '">' . $i . '</a>'; 
}
?>
La boucle for était mal placée, vous écrasiez la tableau $contenu avec un nouveau tableau à chaque itération et une erreur de concaténation/délimiteurs de chaîne.

D'où provient $id ?


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2006, 19h56   #3
Invité de passage
 
Inscription : juillet 2005
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 8
Points : 2
Points : 2
Envoyer un message via MSN à actarus44
Par défaut merci

C'est super ca marche très bien.

J'ai juste encore une dernière question...

Comment faire pour faire commencer mon $i à 1 et non à zéro...

Merci pour la rapidité ;-)
actarus44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2006, 20h00   #4
Membre du Club
 
Inscription : septembre 2006
Messages : 69
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 69
Points : 58
Points : 58
Salut,

C'est ici :
Code :
echo '<a href="' . $dir . $contenu[$i] . '">' . $i . '</a>';
Suffit de modifier comme suit :
Code :
echo '<a href="' . $dir . $contenu[$i] . '">' . $i+1 . '</a>';
EDIT > Oublie ce que j'ai écrit au dessus... En fait le problème, c'est que ton tableau commencera TOUJOURS par 0, et non par 1, à moins que tu ne spécifies l'index explicitement lors du remplissage du tableau.
Par exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$dir = "popup/$id/";
$file = $image;
$rep = opendir($dir);
$contenu = array();
$i=0;
while ($f = readdir($rep)) {
    if(is_file($dir.$f)) {
        $contenu[$i] = $f;
        $i++;
    }
}
closedir($rep);
for ($i = 1; $i <= count($contenu); $i++) { 
    echo '<a href="' . $dir . $contenu[$i] . '">' . $i . '</a>'; 
}
?>
PseudoCoder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2006, 20h09   #5
Invité de passage
 
Inscription : juillet 2005
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 8
Points : 2
Points : 2
Envoyer un message via MSN à actarus44
Par défaut Super

Merci tout est ok !!!!

Problème résolu !!!
actarus44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2006, 21h15   #6
Invité de passage
 
Inscription : juillet 2005
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 8
Points : 2
Points : 2
Envoyer un message via MSN à actarus44
Par défaut dernier petit problème

Le problème est que mon affichage commence à 1 maintenant mais que mon dernier resultat est vide...

numéroté de 1 à 15 (parceque 15 photos dans le dossier) mais le dernier résultat n'affiche pas le lien sur la dernière photos...

Donc il ne m'affiche que 14 photos sur 15 mais il affiche bien les 15 liens...

Et que la première est en fait la deuxième...

Merci
actarus44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2006, 21h32   #7
Membre du Club
 
Inscription : septembre 2006
Messages : 69
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 69
Points : 58
Points : 58
Ah oui... J'ai fait une petite erreur de débutant...
Il faut initialiser i à 1, et non à 0, ici :
Code :
1
2
$contenu = array();
$i=1;
PseudoCoder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2006, 21h35   #8
Invité de passage
 
Inscription : juillet 2005
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 8
Points : 2
Points : 2
Envoyer un message via MSN à actarus44
Par défaut super

Cool c top merci !!!
actarus44 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 12h46.


 
 
 
 
Partenaires

Hébergement Web