begin process at 2012 05 29 00:07:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Divers

 > 

Changer de news toutes les X secondes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Changer de news toutes les X secondes

mardi 5 juin 2007 à 09:55:47 | Changer de news toutes les X secondes

Zzipok

Bonjour à tous.

Je souhaite élaborer une système de gestion de news (en PHP / MySQL).
Cependant, je suis confronté a un problême pour les afficher.

En effet, je souhaiterai afficher mes news une par une, c'est à dire la 1ère news pendant x secondes, puis la faire disparaitre une fois ce délai écoulé, et afficher la 2ème, puis la suivante, et ainsi de suite en boucle.

Mes news sont composées de texte+photo et affichées dans un tableau HTML.

J'ai beau me retourner le cerveau à trouver un moyen de le faire (timer, timestamp, session, reload de la page, etc.), je ne suis arrivé à rien! Du coup, je me demande si c'est possible de faire ce genre de chose sans trop "bidouiller", ou si j'ai raté quelque chose.

Je précise que je débute donc il se peut que je passe à coté d'une notion tout simple qui permettrai de le faire...

Toujours est-il, si quelqu'un à une idée, une piste, une solution, n'importe quoi, elle est la bienvenue !

Si je n'ai pas été clair ou qu'il manque des éléments pour mieux cerner le problême, faites le moi savoir.

Merci d'avance, et bonne journée.

Zz.


(PS: j'ai déja posé la question sur PHPCs, où l'ont m'a conseillé de venir ici , et je suis pas ailleurs désolé si je me suis planté de "Thème" mais je connais très peu javascript et je ne fais pas grande différence entre les différentes propositions...)
mardi 5 juin 2007 à 10:15:22 | Re : Changer de news toutes les X secondes

bultez

Membre Club
Réponse acceptée !





Bonjour,

    ça dépend de comment tu veux faire ça.
   
    par exemple :

    le php "crée" la page avec le n° de la nouvelle ( 1 au début ).
       dans cette page un appel au script php, au bout de x secondes
       avec comme paramètre : n° nouvelle +1

    qu'est-ce qui te poses problème ?
    appel au php au bout de x secondes ?
            voir <meta http-equiv="Refresh"... par exemple

    tu pourrais    ° afficher la nouvelle dans un iframe
                          ° appeler le php avec ajax
                           ....
   
   à piori nul besoin de javascript ( si pas d'Ajax )
    html et php suffisent.

    les exemples fourmillent. une ch'tit recherche sur CodesSources ?


Cordialement            Bul     [mon Site]     [M'écrire]



mardi 5 juin 2007 à 10:26:30 | Re : Changer de news toutes les X secondes

the_wwt

Réponse acceptée !
Bonjour,
la réponse est simple -> AJAX.
Etudie la librairie prototoype.js sur le site http://www.prototypejs.org/
En particulier la classe Ajax.PeriodicalUpdater,
qui permet de mettre à jour un conteneur toutes les x secondes.
new Ajax.PeriodicalUpdater('newsContainer', '/news.php', {
method: 'get', frequency: 3, decay: 2
});

Et dans ta page news.php tu envoie la news suivante.
Bien cordialement.
Pierrick
mardi 5 juin 2007 à 10:31:28 | Re : Changer de news toutes les X secondes

Zzipok

Merci bultez pour cette réponse rapide!

Je n'avais pas envisagé les choses sous cet angle, et effectivement, tel que tu le dis, ça semble simple comme bonjour! Je vais faire des essais dès que possible avec ce type de méthode.

Et je vais egalement essayer d'approfondir mes recherches pour trouver quelque chose de plus pertinent.

Merci encore

Zz.
mardi 5 juin 2007 à 10:52:49 | Re : Changer de news toutes les X secondes

Zzipok

Merci the_wwt pour cette piste.

J'avoue n'avoir jamais entendu parler d'AJAX (je ne fais que du PHP et VB/VBA) mais ça semble très interessant, et je vais y jeter un oeil de ce pas.

Merci pour le conseil.

Bonne journée à tous. Pour ma part, j'ai du travail qui m'attend 
mardi 5 juin 2007 à 15:37:40 | Re : Changer de news toutes les X secondes

Zzipok

C'est re-moi .

J'ai essayé de mettre en oeuvre l'histoire de frame avec paramêtre. Ca m'a sacrément bien aidé. J'ai à présent une page qui viens selectionner le N° des chaque news présente dans la BDD, puis qui envoie ce N° en paramètre à mon script (affiché en frame) qui lui fais le "Select news where NoNews = No en paramètre".

Cependant j'ai encore un souci:

mes numéros de news ne se suivent pas forcément, donc un simple "n° nouvelle +1" ne suffit pas, je suis obligé de recourir à un mysql_fetch_object. Et à chaque rechargement de ma page, la requête de sélection des N° de la news est re-exécutée, donc le mysql_fetch reviens à la case départ. Autrement dit, ça fonctionne nickel pour afficher la 1ère news... mais c'est tout.

Une fois encore mes recherches (dans ma tête, sur CS, sur google, et ailleurs) ne m'ont menées nulle part.

Bref, je continue mes investigations, mais si une idée extérieure pointait le bout de son nez ça serait sympatique ^^

Merci
mardi 5 juin 2007 à 17:23:48 | Re : Changer de news toutes les X secondes

bultez

Membre Club
Réponse acceptée !
ben.. dans ta requête fais un select avec
    where Nonews  > N° de le dernière affichée

Cordialement                Bul     [mon Site]     [M'écrire]



mercredi 6 juin 2007 à 11:38:10 | Re : Changer de news toutes les X secondes

Zzipok

C'est génial! Ca marche sans aucun problême!
bultez, encore une fois, un immense merci! Pondre une telle page sans ton aide m'aurait vraissemblablement demandé une éternité (voire plus !)

Il me manque encore ce genre de reflexe logique, mais c'est en faisant qu'on apprend, et quand j'serai grand, j'suis sur que j'y arriverai

Bref, voici le code de ma page PHP, au cas où ça puisse servir à quelqu'un

Ce n'est qu'un 1er jet que je viens de faire, et c'est certainement très maladroit, voire lourd (nottament l'usage de session, qui me paraît fastidieux), mais ça marche, et c'est tout ce qui m'interesse dans la mesure où je me moque totalement des performances de traitement. De plus j'aurai largement le temps d'optimiser mon code plus tard.

<--- Début Code PHP --->


<?php
    // Connexion BDD
    require("../sql/connect.php");    
    mysql_connect(SERVEUR,NOM,MOTDEPASSE)or die("Erreur de connexion au serveur" . SERVEUR);
    mysql_select_db(BASE)or die ("Erreur de selection de la Base" . BASE);

    // Démarrage d'une session
    session_start();

    // Initialisation du marqueur à 0 pour amorcer le traitement
    $Marqueur = 0;

    // Si la variable session Marqueur existe (Cf. Else),  c'est qu'on à déja amorcé le traitement, donc on peut passer à l'affichage des news (Else)
    if (isset($_SESSION['Marqueur']))
        {
            $Marqueur = $_SESSION['Marqueur'];    //initialisation de $Marqueur à 1
        }

    // Si le marqueur est à 0, c'est la première fois qu'on exécute cette page
    if ($Marqueur == 0)

    {

        $_SESSION['NoNewsSelect'] = 1;    //Initialisation de la var session NoNewsSelect à 1 (servira dans la requête à choisir la 1ère "vraie" news)
        $_SESSION['Marqueur'] = 1;        //Initialisation de la var session Marqueur à 1 pour entrer dans le Else au prochain Reload de la page

            ?>
                <script language="javascript">
                    window.location.reload()            //Reload de la page pour commencer le traitement
                </script>
            <?php

    }

    else
    {
        $NoNewsSelect = $_SESSION['NoNewsSelect'];        //Récupération de la var session NoNewsSelect

        //Requête SQL qui selectionne la première occurence dans la table t_news dont le N° est supérieur à la news actuellement affichée
        $Query = "SELECT NoNews, count( NoNews ) FROM t_news where NoNews > $NoNewsSelect group by 1 order by 2 desc limit 0,1";
        $RetourQuery = mysql_query($Query);
       
        //Récupération du nombre de résultats obtenus pour savoir si la requête retourne un résultat ou non (Cf. test Si plus bas)
        $ResultatQuery = mysql_num_rows($RetourQuery);



        //Récupération du N° de la prochaine news à afficher et stockage dans la var session NoNewsSelect
        $Enregistrement2=mysql_fetch_object($RetourQuery);
        $_SESSION['NoNewsSelect']=$Enregistrement2->NoNews;    
       

        //Si la requête ne retourne aucun résultat (nbe de résultat = 0)
        if ($ResultatQuery == 0)
            {
           
                $_SESSION['Marqueur'] = 0;            //alors on remet le marqueur à 1 pour réamorcer la boucle (retour à la première news)

               
                ?>
                    <script language="javascript">
                        window.location.reload()    // et on recharge la page
                    </script>
                <?php
            }
    }

?>


<html>
    
    <!--Rechargement de la page toutes les x secondes (content) pour passer à la news suivante-->
    <head>
        <META HTTP-EQUIV="refresh" CONTENT="10;">    
    </head>
    
    <!--Affichage du script PHP dans une iframe-->
    <body>
        <iframe name="Affichage" SRC="Test2.php" scrolling="yes" height="100%" width="100%" FRAMEBORDER="no">
        </iframe>
    </body>
    
</html>

<--- Fin Code PHP --->


Voili voilou!  Sujet clos

Un ultime remerciement (après j'arrete promis) aux forumeurs.

Bonne journée!

Zz.
mercredi 6 juin 2007 à 11:52:38 | Re : Changer de news toutes les X secondes

bultez

Membre Club







merci pour le retour et pour le code.

>>j'suis sur que j'y arriverai
    aucun doute là dessus.
    on est tous des débutants, parfois certains l'oublie...

>>l'usage de session, qui me paraît fastidieux
    mais indispensable...  pour des problèmes de sécurité par exemple.
    c'était peut-être inutile dans ton cas ?


Cordialement                Bul     [mon Site]     [M'écrire]





Cette discussion est classée dans : secondes, changer, afficher, problême, news


Répondre à ce message

Sujets en rapport avec ce message

Abandon d'une requéte "src=" au bout de x secondes [ par jpbod ] Bonjour, Sur un de mes sites je regroupe les news de différents sites hardware grace aux codes javascript qu'ils fournissent. Cette page se trouve i afficher une image quelques secondes [ par Xini28 ] Salut à tous, En fait je voudrais afficher quelques secondes une image, mais qu'après une autre image s'affiche et reste afficher sans que la précéde Afficher les news comme sur javascriptfr svp [ par sbeex ] J'aimerais afficher mes news sous cette forme (image ci-dessous) avec le bouton +/- qui permet de réduire ou agrandir la news mais je ne connais pas l comment utiliser AJAX [ par tidave ] Salut à tous Voila , je veux afficher les éléments de ma base de donnees mysql sur une page affichage.php . En faisant en sorte que les données soi afficher calque suivant mois [ par tarentaise ] Bonjour,voilà mon problème j'ai sur une page créée un système d'onglet qui fonctionne par calque. J'ai 12 onglets (calques) qui correspondent chacun à Changer l'emplacement du curseur [ par Steph115 ] Bonjour,J'aimerais savoir si il est possible de défnir l'emplacement du curseur dans un champ edit de façon à la positionner à la fin.J'utilise la mét Pb lightbox v2.03.3 avec IE7 [ par Spy26 ] Bonjour à tous !Je ne sais pas si je suis dans la bonne section pour poster donc... Excusez si je me suis trompé Alors voici mon problème :J'utilise l Récupérer une image [ par MarcoAix ] Bonjour, J'ai vu ce code sur un forum : il permet de récuérer les "div" d'une page et de les afficher sur sa page : loadHtmlFile('http://www.allhtml Afficher une image [ par cedricbi ] Bonjour,Je voudrais savoir s'il est possible avec Javascript d'afficher une image dynamiquement. C'est à dire sans que ça soit prévu dans le code HTML Afficher un pixel [ par cedricbi ] Bonjour,Comment afficher un pixel à des coordonnées X, Y et de couleur C ?Merci.Le plus dur dans un programme c'est de s


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales