Votre question

[résolu] HTML PHP - marquee + norme w3c

Tags :
  • MySQL
  • Programmation
Dernière réponse : dans Programmation
25 Avril 2010 19:04:13

Bonjour,
voila j'ai récément développer un site web (http://techno-land.venez.fr), mais je n'est appris que plus tard qu'il existait cette norme w3c, et vous vous en doutez, mon site est très très loin de satisfaire cette norme...

je refait donc a l'identique ce site en repartant de rien et en essayant de satisfaire ces normes.
actuellement, j'en suis au petit bout de texte qui défile en haut de ma page.
ce texte est issu d'une base de donnée et fonctionne pour l'instant grâce a ce code :
  1. <marquee direction="left" scrollamount="3" scrolldelay="1">
  2. <?php // Connexion base de données
  3. mysql_connect('*****', '*****', '*****') or die('Impossible de se connecter : ' . mysql_error());
  4. mysql_select_db('technoland40:site_news');
  5. // Récupération des données
  6. $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM site_news');
  7. $donnees = mysql_fetch_array($retour);
  8. $reponse = mysql_query('SELECT titre,texte,lien FROM site_news ORDER BY id');
  9. while ($donnees = mysql_fetch_array($reponse)){
  10. echo '<u>' . $donnees['titre'] . ' :</u> ' . $donnees['texte'];
  11. if ($donnees['lien'] != NULL)
  12. echo ' <a href="' . $donnees['lien'] . '" class="liens" target="site"> + d\'infos</a>';
  13. echo ' - ';
  14. }
  15. mysql_close();
  16. ?>
  17. </marquee>


Voila donc ma question est simple :
comment obtenir le même résultat sachant que la norme w3c n'accepte pas le marquee....

J'ai trouver quelques scripts en JavaScript mais le problème c'est qu'ils fonctionnent tous avec un texte écrit dans le code et je n'arrive pas a y inclure le texte de ma base de donnée.

merci d'avance pour vos réponses
fab

Autres pages sur : resolu html php marquee norme w3c

26 Avril 2010 01:18:36

Bonjour,

La balise "marquee" n'est pas valide W3C, la meilleure altérnative reste le Javascript...

Qu'est ce que tu n'arrive pas à faire avec un script de défilement en javascprit?
m
0
l
Contenus similaires
26 Avril 2010 12:16:09

Voila mon script JavaScript :
  1. <script type="text/javascript">
  2. var id,pause=0,position=0;
  3. function banner() {
  4. var i,k,speed=10;
  5. var msg="le message qui defile ici";
  6. alert("test");
  7. alert(msg);
  8. k=(66/msg.length)+1;
  9. for(i=0;i<=k;i++) msg+=" "+msg;
  10. document.defil.banner.value=msg.substring(position,position+300);
  11. if(position++==msg.length) position=0;
  12. id=setTimeout("banner()",1000/speed); }
  13. </script>

donc ce script fonctionne très bien j'ai bien "le message qui defile ici" qui défile sur ma page, sauf que moi il faut que ce message soit récupérer dans la base de donnée...

on m'a suggérer de récupérer les données avec du php et d'insérer la variable PHP dans mon code javascript, ce qui me donne le code suivant :
  1. <?php
  2. mysql_connect('*******', '******', '*******') or die('Impossible de se connecter : ' . mysql_error());
  3. mysql_select_db('technoland40:site_news');
  4. // Récupération des données
  5. $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM site_news');
  6. $donnees = mysql_fetch_array($retour);
  7. $reponse = mysql_query('SELECT titre,texte,lien FROM site_news ORDER BY id');
  8. while ($donnees = mysql_fetch_array($reponse)){
  9. $msg= '<u>' . $donnees['titre'] . ' :</u> ' . $donnees['texte'];
  10. if ($donnees['lien'] != NULL)
  11. {$msg=$msg . ' <a href="' . $donnees['lien'] . '" class="liens" target="site"> + d\'infos</a>';}
  12. $msg=$msg . ' - ';
  13. }
  14. mysql_close();
  15. ?>
  16. <script type="text/javascript">
  17. var id,pause=0,position=0;
  18. function banner() {
  19. var i,k,speed=10;
  20. var msg='<?php echo $msg; ?>';
  21. alert("test");
  22. alert(msg);
  23. k=(66/msg.length)+1;
  24. for(i=0;i<=k;i++) msg+=" "+msg;
  25. document.defil.banner.value=msg.substring(position,position+300);
  26. if(position++==msg.length) position=0;
  27. id=setTimeout("banner()",1000/speed); }
  28. </script>


et la je n'est plus rien qui défile...
alors d'ou vient le problème?
m
0
l
Anonyme
26 Avril 2010 17:33:05

Salut , essai en mettant le ?> en dessous de ton </script>.
Ce n'est qu'un idée.
m
0
l
26 Avril 2010 17:34:34

Ou en faisant un boucle (while) du script javascript...
m
0
l
26 Avril 2010 18:54:54

alors j'ai pas compris l'idée de la boucle sur le script va falloir m'expliquer mais une chose est sure c'est que le fait de déplacer le ?> n'a rien changer.

petit bug aussi assez bizare, dans mon code j'ai mis deux 'alert' pour essayer de suivre l'évolution du code, mais ces 'alert' ne se sont jamais afficher comment sa se fait?
m
0
l
26 Avril 2010 19:02:14

bon j'ai trouver d'ou viens le problème : Mon message est tout simplement trop long pour que mon script le supporte.
ce script étant un copié collé d'un site internet je ne le comprend pas parfaitement,
quelqu'un a-t'il une idée pour modifier ce script de façon a ce qu'il fonctionne avec mon message qui peut être bien long...?

merci pour votre aide
m
0
l
26 Avril 2010 19:25:06

Re,

Si je ne me trompe pas:
k=(66/msg.length)+1;

Le texte est limiter a 66 caractères, mais bon j'suis pas très fort en js...
m
0
l
27 Avril 2010 22:08:28

g essayer en supprimant les deux lignes :
k=(66/msg.length)+1;
for(i=0;i<=k;i++) msg+=" "+msg;

mais sa ne change rien...
m
0
l
a c 232 L Programmation
4 Mai 2010 16:44:10

Est-ce que tu as un lien vers une page web où tu as mis ton script ? que ce soit plus facile de voir ce que ça donne ?
m
0
l
a c 232 L Programmation
4 Mai 2010 23:46:30

Ca marche très bien avec "coucou c moi..." ?!
m
0
l
6 Mai 2010 14:55:40

oui avec un texte cour ça marce (enfin aprés avoir supprimer les deux lignes, le texte commence a gauche et défile vers la gauche (il disparait quoi et réaparait...)

Si quelqu'un a un meilleur script qui ferait apparaitre mon texte de la droite et disparaitre a gauche et ceci en boucle... sachant que mon texte peut etre long...

merci
m
0
l
a c 232 L Programmation
6 Mai 2010 16:50:46

Et la seule raison pour laquelle tu veux pas utiliser un marquee c'est parce que c'est pas valide W3C ?
Si c'est le cas, tu créé un marquee en javascript, et c'est réglé...
m
0
l
8 Mai 2010 15:53:30

oui c'est juste pour sa, mais comment tu créer un marquee en js??
m
0
l
a c 232 L Programmation
8 Mai 2010 17:46:49

  1. <div id="marqueeContainer"></div>
  2.  
  3. <script type="text/javascript">
  4. document.getElementById('marqueeContainer').innerHTML = "<marquee...>texte</marquee>";
  5. </script>
m
0
l
9 Mai 2010 23:57:46

l'idée parait bonne...
sauf que lorsque je passe mon site sur validator.w3.org, il me trouve le marquee dans mon code et me le déclare comme erreur... donc c'est mort :( 

merci quand même
d'autres idées?
m
0
l
a c 232 L Programmation
10 Mai 2010 02:26:02

Met le contenu du javascript dans un commentaire HTML.
<script...>
<!--
document....
-->
</script>
m
0
l
10 Mai 2010 13:31:52

Exactement :) 

merci beaucoup...
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS