Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 11/07/2011, 16h23   #1
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Par défaut Comment incrémenter une liste en PHP ?

Bonjour à tous,

Je cherche à afficher une liste numérotée en php.
Autant il n'y a pas de problème pour créer ma requête php / mysql, autant je ne sais pas comment numéroter automatiquement ma liste.

Puis-je avoir un peu d'aide ?
Voici mon code pour ma requête :

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<? 	//ACTU
		$topagenda = getAgendaTop(0,9,$idSecteur);								
		while( $topagendadata = mysql_fetch_array($topagenda)) {
		$date = $topagendadata['SOIREE_DATE'];	
		list($year, $month, $day) = explode("-", $date);
		$months = array("janvier", "f&eacute;vrier", "mars", "avril", "mai", "juin",
"juillet", "ao&ucirc;t", "septembre", "octobre", "novembre", "d&eacute;cembre");
		$joursem = array('dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi');
		$timestamp = mktime (0, 0, 0, $month, $day, $year);	
		?>
 
<div id="top-accueil-bloc-left-contenu">
 
<div id="top-accueil-bloc-left-img">        
<?PHP	if($topagendadata['SOIREE_IMAGE'] != "")
{
?>
<a href="/<? echo($topagendadata['EVENEMENT_TYPE_URL']) ?>_<?  echo(getVilleFromId($idSecteur)) ?>/<? echo($topagendadata['SOIREE_URL_TITLE']) ?>_<? echo($topagendadata['ETABLISSEMENT_URL_NAME'] )?>_<? echo($day)?>-<? echo($months[$month-1])?>-<? echo($year)?>_<? echo($topagendadata['SOIREE_ID']) ?>_description.html" title="<? echo($topagendadata['SOIREE_TITLE']) ?>"><img src="/coope/agenda/<? echo($topagendadata['SOIREE_IMAGE']) ?>" title="<? echo($topagendadata['SOIREE_TITLE']) ?>" alt="<? echo($topagendadata['SOIREE_TITLE']) ?> - <? echo($topagendadata['SOIREE_LIEU'] )?> - <?  echo(getVilleFromId($idSecteur)) ?>" width="75px"/></a>
 
<?php
} else if(empty($topagendadata['SOIREE_IMAGE'])) {
if($topagendadata['ETABLISSEMENT_IMAGE'] != "")
{
?>
<a href="/<? echo($topagendadata['EVENEMENT_TYPE_URL']) ?>_<?  echo(getVilleFromId($idSecteur)) ?>/<? echo($topagendadata['SOIREE_URL_TITLE']) ?>_<? echo($topagendadata['ETABLISSEMENT_URL_NAME'] )?>_<? echo($day)?>-<? echo($months[$month-1])?>-<? echo($year)?>_<? echo($topagendadata['SOIREE_ID']) ?>_description.html" title="<? echo($topagendadata['SOIREE_TITLE']) ?>"><img src="/images/etablissement/<? echo($topagendadata['ETABLISSEMENT_IMAGE']) ?>" title="<? echo($topagendadata['SOIREE_TITLE']) ?>" alt="<? echo($topagendadata['SOIREE_TITLE']) ?> - <? echo($topagendadata['SOIREE_LIEU'] )?> - <?  echo(getVilleFromId($idSecteur)) ?>" width="75px"/></a>
<?php
}
else 
{
?>
<a href="/<? echo($topagendadata['EVENEMENT_TYPE_URL']) ?>_<?  echo(getVilleFromId($idSecteur)) ?>/<? echo($topagendadata['SOIREE_URL_TITLE']) ?>_<? echo($topagendadata['ETABLISSEMENT_URL_NAME'] )?>_<? echo($day)?>-<? echo($months[$month-1])?>-<? echo($year)?>_<? echo($topagendadata['SOIREE_ID']) ?>_description.html" title="<? echo($topagendadata['SOIREE_TITLE']) ?>"><img src="/coope/agenda/Nightfever_fr_logo.jpg" width="75" title="<? echo($topagendadata['SOIREE_TITLE']) ?>" alt="<? echo($topagendadata['SOIREE_TITLE']) ?> - <? echo($topagendadata['SOIREE_LIEU'] )?> - <?  echo(getVilleFromId($idSecteur)) ?>"</a>
<?php } } ?>  
</div>      
 
<div id="top-accueil-bloc-left-block">
 
<div id="top-accueil-bloc-left-title">        
<a href="/<? echo($topagendadata['EVENEMENT_TYPE_URL']) ?>_<?  echo(getVilleFromId($idSecteur)) ?>/<? echo($topagendadata['SOIREE_URL_TITLE']) ?>_<? echo($topagendadata['ETABLISSEMENT_URL_NAME'] )?>_<? echo($day)?>-<? echo($months[$month-1])?>-<? echo($year)?>_<? echo($topagendadata['SOIREE_ID']) ?>_description.html" title="<? echo($topagendadata['SOIREE_TITLE']) ?>"><? echo($topagendadata['SOIREE_TITLE']) ?></a>
</div>
 
</div>
 
</div>
 
<?php }?>
Merci par avance,

Aurélien
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h57   #2
Nouveau Membre du Club
 
Avatar de Thibault92
 
Homme Thibault
Étudiant
Inscription : juin 2011
Messages : 43
Détails du profil
Informations personnelles :
Nom : Homme Thibault
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 43
Points : 33
Points : 33
bonjour,

Qu'entends-tu exactement par 'numéroter ta liste' ?
Thibault92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h57   #3
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Avec le code fourni, j'arrive pas bien à comprendre ce que tu cherches à numéroter (j'ai pas tellement le temps de plonger dedans non plus...)

En revanche, tu peux regarder du coté de range et de array_combine, ça te donnera de bonne idées.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h58   #4
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 806
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 806
Points : 1 520
Points : 1 520
J'ai franchement pas compris.
Alors voici comment numéroter en utilisant une boucle de même type :
Code php :
1
2
3
4
5
6
$i = 0;
while($topagendadata = mysql_fetch_array($topagenda))
{
  echo 'Numéro : ' . $i . '<br />';
  $i++;
}
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 17h00   #5
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Merci pour vos réponses.

En fait je veux juste faire une liste des articles les + vues sur mon site du type :
  1. Article 1
  2. Article 2
  3. Article 3

Je sais faire l'affichage du nom des articles mais je ne sais pas comment faire apparaitre les numéros et comment les incrémenter automatiquement devant le nom des articles.

Une piste ?

Merci par avance,

Aurélien
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 17h08   #6
Nouveau Membre du Club
 
Avatar de Thibault92
 
Homme Thibault
Étudiant
Inscription : juin 2011
Messages : 43
Détails du profil
Informations personnelles :
Nom : Homme Thibault
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 43
Points : 33
Points : 33
Il faut que tu utilises la solution de transgohan :

Code :
1
2
3
4
5
6
$i = 1;
while($topagendadata = mysql_fetch_array($topagenda))
{
  echo 'Numéro : ' . $i . $topagendadata[''];
  $i++;
}
Thibault92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 17h08   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
rien a voir avec PHP c'est du HTML ça, regarde du coté de des listes type <ol>
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 11/07/2011, 19h14   #8
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 711
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juillet 2006
Messages : 711
Points : 328
Points : 328
Citation:
Envoyé par stealth35 Voir le message
rien a voir avec PHP c'est du HTML ça
Pourquoi HTML uniquement?
Faisable en php ou html. Pour ma part tout dépend des compétences et du temps.
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 11
Vieux 11/07/2011, 19h17   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par okoweb Voir le message
Pourquoi HTML uniquement?
Faisable en php ou html. Pour ma part tout dépend des compétences et du temps.
ça sert a rien de simuler en PHP ce qu'on peux faire en HTML, il montre explicitement qu'il veut faire une liste du type <ol>

donc

Code :
1
2
3
4
5
<ol>
   </li>Element</li>
   </li>Element</li>
   </li>Element</li>
</ol>
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 21h29   #10
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Merci pour vos réponses.

J'ai tenté de le faire avec les balises HTML mais à priori ça ne fonctionne pas

Est-ce que mon code vous semble correct ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<ol>
<? $topagenda = getAgendaTop(0,5,$idSecteur);								
while( $topagendadata = mysql_fetch_array($topagenda)) {	
?>
 
<div id="top-accueil-bloc-left-contenu">  
 
<div id="top-accueil-bloc-left-title">        
<a href="/<? echo($topagendadata['EVENEMENT_TYPE_URL']) ?>_<?  echo(getVilleFromId($idSecteur)) ?>/<? echo($topagendadata['SOIREE_URL_TITLE']) ?>_<? echo($topagendadata['ETABLISSEMENT_URL_NAME'] )?>_<? echo($day)?>-<? echo($months[$month-1])?>-<? echo($year)?>_<? echo($topagendadata['SOIREE_ID']) ?>_description.html" title="<? echo($topagendadata['SOIREE_TITLE']) ?>"><li><? echo($topagendadata['SOIREE_TITLE']) ?></li></a>
</div>    
 
</div>
 
<?php }?>   
</ol>
Merci par avance,

Aurélien
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 21h33   #11
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
oula non, les éléments de listes c'est <li> comme dans l'exemple que j'ai monter, je te conseil d'apprendre la base du HTML avant de faire du PHP
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 21h47   #12
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
J'ai effectivement des lacunes que je tente de combler ... désolé.

Dans mon bout de code j'ai bien placé le <li> mais je ne sais pas si je l'ai mis au bon endroit.

Quelle serait la bonne façon de procéder ?

Merci de m'aider à progresser

Aurélien
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 21h54   #13
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
montre ce que t'as fait avec les <li>
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 22h00   #14
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Voila mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<ol>
<? 	//ACTU
		$topagenda = getAgendaTop(5,5,$idSecteur);								
		while( $topagendadata = mysql_fetch_array($topagenda)) {
		$date = $topagendadata['SOIREE_DATE'];	
		list($year, $month, $day) = explode("-", $date);
		$months = array("janvier", "f&eacute;vrier", "mars", "avril", "mai", "juin",
"juillet", "ao&ucirc;t", "septembre", "octobre", "novembre", "d&eacute;cembre");
		$joursem = array('dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi');
		$timestamp = mktime (0, 0, 0, $month, $day, $year);	
		?>
 
<div id="top-accueil-bloc-left-contenu">  
 
<div id="top-accueil-bloc-left-title">        
<li><a href="/<? echo($topagendadata['EVENEMENT_TYPE_URL']) ?>_<?  echo(getVilleFromId($idSecteur)) ?>/<? echo($topagendadata['SOIREE_URL_TITLE']) ?>_<? echo($topagendadata['ETABLISSEMENT_URL_NAME'] )?>_<? echo($day)?>-<? echo($months[$month-1])?>-<? echo($year)?>_<? echo($topagendadata['SOIREE_ID']) ?>_description.html" title="<? echo($topagendadata['SOIREE_TITLE']) ?>"><? echo($topagendadata['SOIREE_TITLE']) ?></a></li>
</div>
 
 
</div>
 
<?php }?>   
</ol>
AurelienNF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 22h05   #15
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
mais y'a pas de <div> dans les <ol> c'est que des <li>,
pour tes date en français utilise strftime ou mieux IntlDateFormatter, et inutile de redéfinir tes array a chaque tour de boucle
pour tu ouvres ton php avec <? et plus loin avec <?php ?
c'est très brouillon tous ça
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 22h24   #16
Membre du Club
 
Homme Aurelien NF
Inscription : août 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Aurelien NF
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : août 2010
Messages : 216
Points : 59
Points : 59
Envoyer un message via Skype™ à AurelienNF
Merci pour tes conseils, je me vais regarder de plus près pour les dates.
En effet je suis autodidacte et je reconnais que c'est assez brouillon ... mais je vais m'améliorer.

Concernant ma liste j'ai réussi à faire ce que je voulais avec la solution de Transgohan.

Merci à tous pour votre aide.

Aurélien
AurelienNF 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 23h53.


 
 
 
 
Partenaires

Hébergement Web