Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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 29/01/2008, 21h56   #1
Invité de passage
 
Inscription : janvier 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 5
Points : 0
Points : 0
Par défaut Alterner les couleurs pour l'affichage des éléments d'un flux RSS

Bonjour,
Chipos 28 ans, nouveau sur le forum.

Je récupère un flux rss avec simplepie, les items s'affichent à la suite chacun dans un div et j'aimerais également alterner les couleurs d'un div sur l'autre.
Ca fait très longtemps que j'essaie de faire ça mais même en essayant d'intégrer les différents bouts de script pêchés ça et là, je n'arrive pas au réultat escompté.
D'habitude, je 'en sors seul mais là j'ai un niveau en php absolument nul, je dois solliciter votre pitié


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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
/********************************************************************
MULTIFEEDS TEST PAGE
 
Nothing too exciting here.  Just a sample page that demos integrated 
Multifeeds support as well as cached favicons and perhaps a few other 
things.
 
Lots of this code is commented to help explain some of the new stuff.  
Code was tested in PHP 5.2.2, but *should* also work with earlier 
versions of PHP, as supported by SimplePie (PHP 4.1).
 
********************************************************************/
 
// Include the SimplePie library, and the one that handles internationalized domain names.
require_once('../simplepie.inc');
require_once('../idn/idna_convert.class.php');
 
// Initialize some feeds for use.
$feed = new SimplePie();
$feed->set_feed_url(array(
'http://www.planete-mars.net/mylastrss/examples/merge-to-one-feed/'
));
 
 
 
// When we set these, we need to make sure that the handler_image.php file is also trying to read from the same cache directory that we are.
// $feed->set_favicon_handler('handler_image.php');
$feed->set_image_handler('handler_image.php');
 
// Initialize the feed.
$feed->init();
 
// Make sure the page is being served with the UTF-8 headers.
$feed->handle_content_type();
 
// Begin the (X)HTML page.
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">	
<head>
	<title>Revue de presse OM</title>
	<link rel="stylesheet" href="../demo/for_the_demo/simplepie.css" type="text/css" media="screen" title="SimplePie Styles" />
	<style type="text/css">
	div#site {
		width:310px;
	}
 
 
 
	</style>
</head>
<body>
<div id="site">
 
	<?php if ($feed->error): ?>
		<p><?=$feed->error()?></p>
	<?php endif ?>
 
 
 
	<?php
	// Let's loop through each item in the feed.
	foreach($feed->get_items() as $item):
 
	// Let's give ourselves a reference to the parent $feed object for this particular item.
	$feed = $item->get_feed();
	?>
 
	<div class="chunk">
 
			<h4><a href="<?php echo $item->get_permalink(); ?>"><?php echo html_entity_decode($item->get_title(), ENT_QUOTES, 'ISO-8859-1'); ?></a></h4>
			<?php 
			if($enclosure=$item->get_enclosure(0)){
            echo "<img src=\"";
            echo $enclosure->get_link();
            echo "\" border=\"1\" style=\"float: left; margin: 4px; max-height:80px; max-width:100px; margin-top: 8px;\">";
            } 
			?>
		<!-- get_content() prefers full content over summaries -->
			<?php 
			echo $item->get_description(); 
			echo $item->get_date('j M Y | G:i ');
			?>
		</div>
	<?php endforeach ?>
</div>
</body>
</html>
J'ai essayé d'intégrer pas mal de choses au <div class="chunk">, mon css est prêt mais ça ne marche pas.
Merci beaucoup !
chipos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2008, 23h09   #2
Invité de passage
 
Inscription : janvier 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 5
Points : 0
Points : 0
Je vous demande pas de faire le boulo à ma place, je suis volontaire pour apprendre...

Par exemple, j'essaye de remplacer

(Je laisse tomber le css chunk, il est pas important)

par

Code :
1
2
3
4
5
<?php
	$compteur=1;
for($i=0; $i<cond; $i++) {
echo '<div class="'.($i&1 ? 'odd' : 'even').'">';
	?>
Parse error: syntax error, unexpected T_ENDFOREACH in rdp/demo/multifeeds.php on line 95

La ligne 95 est la ligne <?php endforeach ?> à la fin du document.

Qu'en pensez vous ?
chipos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 00h36   #3
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Tu as oublié de fermé le crochet !
Dans ton cas précis soit tu en met soit tu en met pas. Dans les deux il va fonctionner mais ça fonctionne par paire. Tu ouvres, tu fermes.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 09h36   #4
Invité de passage
 
Inscription : janvier 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 5
Points : 0
Points : 0
Merci !

Cela regle la parse error mais je n'ai toujours pas de background coloré.
J'ai bien mis deux classes css pourtant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
div.odd {
	margin:5px 0 0 0;
	padding:0 0 10px 0;
	border-bottom:1px solid #ccc;
	background-color:transparent;
}
 
div.even {
	margin:5px 0 0 0;
	padding:0 0 10px 0;
	border-bottom:1px solid #ccc;
	background-color:#ff0000;
}
Dois je ajouter autre chose dans mon fichier php. Il y a des fonctions à présenter ? Pour le compteur ou une boucle ? ou ces quelques lignes isolée devraient suffir ?


Merci encore !
chipos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 09h44   #5
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Parce que dans ta css je pense qu'il faut retirer le div. Tu définie déjà une classe que tu veux mettre dans un div. Je pense que le problème vien de la.
Sinon regarde déjà dans ton code source de ta page html généré voir déjà si les valeurs de ta classe dans le div s'alterne ou non.
Si c'est le cas alors ton script PHP fonctionne. Dans le cas contraire c'est un probleme CSS.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 11h58   #6
Invité de passage
 
Inscription : janvier 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 5
Points : 0
Points : 0
Non, malheureusement, pas de div du tout ,
Dans la source <div class="chunk"> est remplacé par rien...

Il n'y a pas de variable à définir ?
chipos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 12h19   #7
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
Salut,

Que donne la source html en sortie de ton php ( juste deux trois lignes avec les div en question ).

Généralement j'utilise un modulo 2 pour switcher une couleur

Code :
1
2
3
4
5
6
7
 
<?php
$compteur=1;
for($i=0; $i<cond; ++$i) {
echo '<div class="'.($i%2 ? 'odd' : 'even').'">';
}
	?>
__________________
Pierre
1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
3. Un code rapide c'est bien, un code maintenable c'est mieux
...

Why was the font tag an orphan ? Because it didn't have a font-family.
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2008, 16h14   #8
Invité de passage
 
Inscription : janvier 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 5
Points : 0
Points : 0
Code :
1
2
3
4
5
6
7
8
9
 
<h4><a href="http://us.rd.yahoo.com/dailynews/rss/l">Ligue 1 : Personne ne veut de Signorino ! (Foot Mercato via Yahoo! France Sport)</a></h4>
			<img src="" border="1" style="float: left; margin: 4px; max-height:80px; max-width:100px; margin-top: 8px;">			
		<!-- get_content() prefers full content over summaries -->
 
			L'ancien nantais Franck Signorino est l'un des grands oubliés de ce mercato hivernal.29 Jan 2008 | 22:45 		
		</div>
 
<h4><a href=...
Et comme vous pouvez le constater, même quand il n'y a pas d'enclosure, il y a quand même les balises "img", je l'avais pas vu sous firefox mais sous internet explorer, ça provoque des jolies petites croix rouges d'images introuvables
chipos 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 13h13.


 
 
 
 
Partenaires

Hébergement Web