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 21/01/2012, 04h42   #1
Invité de passage
 
Femme Marie
Webdesigner
Inscription : août 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Femme Marie
Localisation : Nouvelle-Calédonie

Informations professionnelles :
Activité : Webdesigner
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2011
Messages : 3
Points : 0
Points : 0
Par défaut Affichage en triple des résultats

bonjour à tous

je n'arrive pas à comprendre pourquoi ma boucle affiche 3 fois les mêmes articles
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
<?php 
/*
Template Name: HOME2 	
*/
?>
<?php get_header(); ?>
 
		<div id="services" class="clearfix">
 
		<?php for ($i=1; $i<4 ; $i++) { ?>
				<?php query_posts( 'tag=accueil&showposts=3' ); while (have_posts()) : the_post(); ?>
 
					<div class="service<?php if ( $i==3 ) echo ' last'; ?>">
 
						<h3 class="title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
 
						<div class="service-description-bottom">
							<div class="service-description">
								<div class="description">
									<p><?php echo apply_filters('the_content',et_create_dropcaps(get_the_content(''))); ?></p>
								</div> 	<!-- end .description-->
								<a href="<?php the_permalink(); ?>" class="readmore"><span><?php esc_html_e('read more'); ?></span></a>
							</div> 	<!-- end .service-description -->
						</div> 	<!-- end .service-description-bottom -->
					</div> 	<!-- end .service -->
				<?php endwhile; ?>
			<?php } ?>
 
		</div> <!-- end #services -->
	<?php } else { ?>
		<div id="content-top"></div>
		<div id="content" class="clearfix">
			<div id="content-area">
 
			</div> <!-- end #content-area -->
 
			<?php get_sidebar(); ?>
		</div> <!--end #content-->
		<div id="content-bottom"></div>
	<?php } ?>
 
<?php get_footer(); ?>
Quelqu'un peut-il m'expliquer le problème ?
Merci
pasdesquiches est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2012, 07h21   #2
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 727
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 727
Points : 3 294
Points : 3 294
Citation:
Envoyé par pasdesquiches
je n'arrive pas à comprendre pourquoi ma boucle affiche 3 fois les mêmes articles
...
Quelqu'un peut-il m'expliquer le problème ?
Elle boucle 3 fois car tu lui a demander de boucler 3 fois

Tu ne dis pas ce que tu espères obtenir, donc on ne peux pas te dire ce qu'il faudrait faire.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2012, 07h23   #3
Invité de passage
 
Femme Marie
Webdesigner
Inscription : août 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Femme Marie
Localisation : Nouvelle-Calédonie

Informations professionnelles :
Activité : Webdesigner
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : août 2011
Messages : 3
Points : 0
Points : 0
Citation:
Envoyé par RunCodePhp Voir le message
Elle boucle 3 fois car tu lui a demander de boucler 3 fois

Tu ne dis pas ce que tu espères obtenir, donc on ne peux pas te dire ce qu'il faudrait faire.
Je voulais juste qu'il affiche 3 articles ayant le tag accueil.
d'où le query_posts( 'tag=accueil&showposts=3')

où je demande 3 fois qu'il affiche les 3 articles ..je pige pas

Si tu peux m'aider
pasdesquiches est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2012, 07h44   #4
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 727
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 727
Points : 3 294
Points : 3 294
Citation:
Envoyé par pasdesquiches
Je voulais juste qu'il affiche 3 articles ayant le tag accueil.
d'où le query_posts( 'tag=accueil&showposts=3')

où je demande 3 fois qu'il affiche les 3 articles ..je pige pas
Faut être logique.
Si en faisant ceci : query_posts( 'tag=accueil&showposts=3')
ça récupère les articles donc les tags vaut "accueil" et showposts pour obtenir au maximum 3 post, et bien au bout tu devrais obtenir 3 post maxi.

A quoi bon faire une boucle par dessus ? Il n'y a pas à rajouter de boucle for.
A savoir qu'à la suite de cette ligne il y a déjà une boucle while (-> while (have_posts())), et c'est ça qui va permettre d'afficher au max les 3 post.


Il y a donc rien à faire.
Reste à savoir maintenant si cette instruction est correcte : query_posts( 'tag=accueil&showposts=3'), si c'est bien là qu'il faut le faire, etc ...
Mais ceci est propre à WordPress.
Le mieux est peut être de poser la question du coté du forum WordPress.
(Je connais très peu WordPress.)
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 11h10   #5
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 671
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 671
Points : 5 404
Points : 5 404
Citation:
Envoyé par pasdesquiches Voir le message
où je demande 3 fois qu'il affiche les 3 articles ..je pige pas
Là : <?php for ($i=1; $i<4 ; $i++) { ?>.
A priori, la boucle d'affichage pour afficher les n articles est réalisée par le while (have_posts()). Ta boucle for n'a donc rien à faire là...
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h07.


 
 
 
 
Partenaires

Hébergement Web