Bonjour à tous,
Nouveau venu dans votre communauté, je débute également en PHP. J'ai suivi avec attention les cours de Mateo21 sur ce même site et ai retenu son TP de news pour un site que je suis en train de concevoir. Vous trouverez le code ici : http://www.siteduzero.com/tutoriel-3-1 [...] tre-site.html
Mon problèmes: J'aimerai que les 5 dernières news défilent dans un bloc de ma page d'accueil. Cela fait deux jours que je cherche la solution mais je ne la trouve pas. Tout ce que j'ai trouvé me laisse à croire qu'il n'y a pas 36 solutions : soit utiliser la balise marquee mais si j'ai bien compris, ce n'est pas très recommandé. Soit utiliser le javascript.
Or, j'ai trouvé un script sur dev paradise où, si j'ai bien compris, les blocs div info1 sont contenu dans un div conteneur où elles défilement. Je me suis donc dit qu'il suffisait de remplacer le contenu de info1 par la partie "affichage" du code index.php du tuto "news sur votre site" et que le tour serait joué.
Ce qui en théorie donnerait ça :
<DIV ID="conteneur" onMouseOver="MyBox.stop();" onMouseOut="MyBox.start();">
<?php
mysql_connect("localhost", "nicolas.gengembre", "01071982");
mysql_select_db("breves");
// On récupère les 5 dernières news
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
while ($donnees = mysql_fetch_array($retour))
{
echo'<DIV ID="info1" class="posrelative">';
?>
<h3>
<?php echo $donnees['titre']; ?>
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
</h3>
<p>
<?php
// On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
$contenu = nl2br(stripslashes($donnees['contenu']));
echo $contenu;
?>
</p>
<?php
echo'</div>';
} // Fin de la boucle des news
?>
</DIV>
</body>
</html>
Utiliser la balise marquee n'est certes pas valide (du point de vue du W3C) mais fonctionne généralement mieux que les scripts Javascript qui affichent souvent un défilement saccadé.
Pour la vitesse de défilement, ça se règle quand tu définis l'objet Box :
new Box('MyBox', 'conteneur', 1, 100, 2000, 10);
100 = vitesse de base (4ième paramètre)
2000 = quand on glisse la souris (5ième paramètre)
Merci de ta réponse. Finalement, j'ai encore cherché un peu hier et j'ai fini par trouver. De même que j'ai trouvé une solution pour le chevauchement. Bon, ça vaut ce vaut, c'est plutôt du domaine de la bidouille mais ça fonctionne. J'ai attribué une hauteur à mes div info1 et j'en ai ajouté une qui sera affichée d'office avant celles de ma boucle. EN plus en jouant sur les paramètre de la box et sur la hauteur de mes div, j'arrive à avoir un résultat assez fluide.
Défilement des 5 news les plus récentes en page d'accueil
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - sdlm.be - Horus.aero