IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Faire tourner une image en fonction des jours


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Par défaut Faire tourner une image en fonction des jours
    Bonjour

    Je souhaite mettre sur ma page d'accueil une image qui change tous les jours (à minuit par exemple)
    PS: une image, ou bien une vidéo, ou encore un petit texte

    Est-ce que c'est possible en PHP? Si oui, comment faut-il faire? Existe-t-il un script tout fait (parce que je n'en trouve pas)?

    Je vous remercie beaucoup

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    une methode consiste a stocker la liste des éléments en base de données, a chaque visite on controle :
    - si aucun élément n'est défini pour la date courante, on en prend un au hasard et le taf
    - si un élément est défini, on l'utilise.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Par défaut
    Bonsoir Sabotage, et merci de ton aide

    Citation Envoyé par sabotage Voir le message
    une methode consiste a stocker la liste des éléments en base de données, a chaque visite on controle :
    - si aucun élément n'est défini pour la date courante, on en prend un au hasard et le taf
    - si un élément est défini, on l'utilise.
    Bon, je suis pas fortiche en PHP, mais j'ai essayé un truc:

    J'ai fait un essai: j'ai stocké quelques vidéos dans ma base de données PHPMyAdmin

    Puis, dans ma page index, à l'endroit où je veux inserer ma vidéo, j'ai écrit ceci (j'ai pris comme exemple des vidéos de ma création que j'ai mises sur Dailymotion):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
     
    <?php
    /* info de la base */
    $nom_table = "video";
    $host = "localhost";
    $login = "root";
    $pass = "";
     
    $id_video = 1;
    $debut = 14;
    $fin = 24;
    $heure = date("G", mktime());
    $heure = date("G", mktime());
    echo $heure;
     
    $connect = mysql_connect($host, $login, $pass)
        or die("Impossible de se connecter : " . mysql_error());
     
    // numéro vidéo
    $action = "SELECT * FROM `num_video` WHERE `num` = 1";
    $result = mysql_db_query($nombase, $action);
    $row = mysql_fetch_object($result);
    $id_video = $row->id_video;
     
    // changement
    if ($heure > $debut && $heure < $fin) {
    $id_video++;
    echo "</br>".$id_video;
    $action = "UPDATE `num_video` SET `id_video` = '".$id_video."' WHERE `num` =1 LIMIT 1 ;";
    $ok = mysql_db_query($nombase, $action);
    }
     
    // donnée vidéo
    $action = "SELECT * FROM `".$nom_table."` WHERE `num` = ".$id_video;
    $result = mysql_db_query($nombase, $action);
    $row = mysql_fetch_object($result);
    $adresse = $row->adresse;
    $x = $row->width;
    $y = $row->height;
     
     
    mysql_close($connect);
     
    echo "
    <div align='center'><br /><object width='".$x."' height='".$y."'><br />
    <param name='movie' value='".$adresse."'>
    </param><param name='allowFullScreen' value='true'></param>
    <param name='allowscriptaccess' value='always'></param>
    <embed src='".$adresse."' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width='".$x."' height='".$y."'></embed></object>
    </div>";
    ?>
    Dans la base de données, j'ai créé deux tables
    -une appelée "video" avec 4 champs (num, adresse, width et height)
    -une appelée "num_video" avec 2 champs (num, id_video)
    PS: num correspond au numéro de la vidéo


    Je n'ai pas l'impression d'avancer beaucoup...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Mets toutes tes infos dans une seule table, tu te simplifieras déjà la tâche.

    Je vois que maintenant tu veux changer la vidéo selon l'heure ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Mets toutes tes infos dans une seule table, tu te simplifieras déjà la tâche.

    Je vois que maintenant tu veux changer la vidéo selon l'heure ?
    En fait, je voudrais que chaque jour, une nouvelle vidéo apparaisse sur ma page d'accueil en lieu et place d'une autre (j'en ai une cinquantaine à faire tourner)

    Le changement de vidéo pourrait avoir lieu à minuit par exemple (ça doit simplifier les choses, peut être, au niveau du code, si l'ordre de changement se fait quand on passe au jour suivant ?)

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    hum non reprends bien mon principe

    une table avec
    id _ chemin _ datediffusion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    // on cherche la vidéo d'aujourd'hui
    $sql = "SELECT chemin FROM table WHERE datediffusion = CURDATE()";
     
    si resultat {
    $chemin = .....
    }
    else {
    // s'il n'y en a pas, on cherche la plus veille vidéo diffusée (qui peut être aussi une vidéo non diffusée (champ NULL))
    $sql = "SELECT id,chemin FROM table ORDER BY datediffusion ASC LIMIT 1";
    $id = .......
    $chemin = ......
    // et on la marque a aujourd'hui
    $sql = "UPDATE table SET datediffusion = CURDATE() WHERE id = $i";
    }
     
    echo $chemin;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Comment faire tourner une image GIF ?
    Par Claude_Azoulai dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 28/07/2009, 10h21
  2. Réponses: 8
    Dernier message: 16/07/2009, 18h50
  3. faire tourner une query avec condition de jour
    Par benvanbelgie dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 19/06/2009, 11h06
  4. faire tourner une image
    Par paulselvan dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 10/08/2008, 16h22
  5. Réponses: 7
    Dernier message: 28/06/2007, 08h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo