Affichage de texte provenant d'une base de donnée avec un timer....

Affichage de texte provenant d'une base de donnée avec un timer.... - PHP - Programmation

Marsh Posté le 23-04-2009 à 19:05:32    

Bonsoir,
 
Etant en train de développer un petit site j'aimerais dans une zone proche du header afficher chaque fois quelques ligne de texte provenant de ma base de donnée, de manière aléatoire, et restant par exemple 30 secondes à l'écran. J'aimerais également faire un petit effet de défilement ou de fondu entre ces petits textes. D'après vous le plus simple est de travailler en PHP + Javascript (AJAX) ou en flash ? Etant encore aux rudiments du php et conseurs auriez vous un bon tutorial à me conseiller pour faire ce genre de chose ?
 
Un tout grand merci d'avance et une excellente soirée !

Reply

Marsh Posté le 23-04-2009 à 19:05:32   

Reply

Marsh Posté le 23-04-2009 à 20:06:42    

pas trop compliqué je pense :
1) du coté PHP, faire un petit script qui te sort une phrase au hasard
2) du coté HTML, créer un espace pres à recevoir ces phrase (un DIV avec par exemple l'id défini à 'espacePhrase')
3) du coté JS et au chargement de la page, il te suffit de faire un truc du style :

Code :
  1. $(document).ready (function() { setInterval (affiche, 1000 * 30) });
  2.  
  3. var affiche = function ()
  4. {
  5.  $("#espacePhrase" ).hide ("fast", function () {
  6.    this.load (URL_DE_TON_SCRIPT_PHP_DEFINI_PLUS_HAUT).fadeIn ("slow" ) }
  7.  );
  8.  return true;
  9. }


et encore ya moyen de chainer les effets avec jQuery ;)

Message cité 1 fois
Message édité par SICKofitALL le 23-04-2009 à 20:34:56

---------------
We deserve everything that's coming...
Reply

Marsh Posté le 24-04-2009 à 13:31:19    

y'a script.aculo.us aussi comme bonne lib javascript pour les effets ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 28-04-2009 à 22:34:29    

SICKofitALL a écrit :

pas trop compliqué je pense :
1) du coté PHP, faire un petit script qui te sort une phrase au hasard
2) du coté HTML, créer un espace pres à recevoir ces phrase (un DIV avec par exemple l'id défini à 'espacePhrase')
3) du coté JS et au chargement de la page, il te suffit de faire un truc du style :

Code :
  1. $(document).ready (function() { setInterval (affiche, 1000 * 30) });
  2.  
  3. var affiche = function ()
  4. {
  5.  $("#espacePhrase" ).hide ("fast", function () {
  6.    this.load (URL_DE_TON_SCRIPT_PHP_DEFINI_PLUS_HAUT).fadeIn ("slow" ) }
  7.  );
  8.  return true;
  9. }


et encore ya moyen de chainer les effets avec jQuery ;)


 
Excellent, merci à toi, le script marche d'enfer par contre j'aimerai l'améliorer et effacer un effet non désirés...
 
-> Petit problème, j'ai trouvé des valeurs de timing adapté pour le set interval... (j'utilise 100 * 120), j'ai donc la cadence que je voulais pour l'affichage de mes textes entre les fondus. Par contre après le chargement de la page je dois attendre ce même temps avant que le premier texte s'affiche, l'espace de texte reste blanc un certain nombre de seconde et j'aimerai qu'un premier texte s'y affiche tout de suite. Tu sais comment je peux faire cela ?
 
 
 

Reply

Marsh Posté le 28-04-2009 à 23:42:55    

di0x a écrit :


 
Excellent, merci à toi, le script marche d'enfer par contre j'aimerai l'améliorer et effacer un effet non désirés...
 
-> Petit problème, j'ai trouvé des valeurs de timing adapté pour le set interval... (j'utilise 100 * 120), j'ai donc la cadence que je voulais pour l'affichage de mes textes entre les fondus. Par contre après le chargement de la page je dois attendre ce même temps avant que le premier texte s'affiche, l'espace de texte reste blanc un certain nombre de seconde et j'aimerai qu'un premier texte s'y affiche tout de suite. Tu sais comment je peux faire cela ?


 
oui c'est pas compliqué

Code :
  1. $(document).ready (affiche);
  2.  
  3. var affiche = function ()
  4. {
  5.  $("#espacePhrase" ).hide ("fast", function () {
  6.    this.load (URL_DE_TON_SCRIPT_PHP_DEFINI_PLUS_HAUT).fadeIn ("slow" ) }
  7.  );
  8.  setTimeout (affiche, 1000 * 30)
  9.  return true;
  10. }


 
on appelle cash la fonction "affiche", qui se charge de lancer une timer qui au bout de 30s se relance elle-même.
Pour info et concernant le 1000 * 30, c'est arbitraire mais pas au hasard ! Les timers sont définis en millisecondes, donc pour avoir 30s il faut multiplier par 30 par 1000. Donc voilà, toi tu as définies un timer de 12s (100 * 120 = 1000 * 12).


---------------
We deserve everything that's coming...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed