begin process at 2012 05 26 17:28:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Base de données

 > 

Autre

 > 

Compte à rebours utilisant des données présentes dans un base de données MySQL


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

Compte à rebours utilisant des données présentes dans un base de données MySQL

vendredi 6 février 2009 à 12:10:10 | Compte à rebours utilisant des données présentes dans un base de données MySQL

Triice

Bonjour tout le monde,

C'est un appel au secours!
Pour établir le contexte je suis un parfait débutant Flash/Php/MySql

Et je n'ai rien trouvé de mieux à faire qu'un compte à rebours qui utiliserait une date de début et une date de fin présentes dans une base de donnée.
Mon problème vient du fait qu'après plusieurs essais pour le moins infructueux mon meilleur résultat soit l'affichage de NaN à la place de mes champs de texte dynamiques qui auraient du afficher le temps restant divisé en jours, heures, minutes et secondes.

J'aurais pu donner mon code mais après plusieurs essais cela ressemble plus à de la compote qu'à autre chose.
J'ai vu les codes pour un compte à rebours utilisant actionscript mais il semble que mon problème soit principalement la récupération et bonne utilisation des données présentes dans ma base..

Help...

Mon code Php:
//ma connexion à la base de données

<?php

$host = "localhost";
$user = "root";
$mpasse = "";

$connexion = mysql_connect($host,$user,$mpasse) or die("Connexion a la base de donnee impossible");

$database = "ma_base";

$db = mysql_select_db($database) or die("La base de donnee n'a pas pu etre selectionnee");
   
?>

//l'accès à la table concernée

<?php
        $req = "SELECT * FROM ma_table WHERE principale='oui'";
        $result = mysql_query($req) or die ("La requete n'a pas pu etre executee");           
        $ligne = mysql_fetch_array($result);
        extract($ligne);
?>   


Mon code actionscript

var temps = new LoadVars();
temps.load('fonctions.php');
temps.onLoad = function (ok)
{
   if(ok)
            {
                fin_serveur = this.end1;
                temps_restant = fin_serveur - this.today;
               
          }
};

_root.onEnterFrame = function ()
{
    restant = temps_restant;
    jours = restant / 86400;
    jours = Math.floor(jours);
    restant = restant - 86400 * jours;
    heures = restant / 3600;
    heures = Math.floor(heures);
    restant = restant - 3600 * heures;
    minutes = restant / 60;
    minutes = Math.floor(minutes);
    secondes = restant - 60 * minutes;
}


Comme je disais...Compote..
Toute aide serait bienvenue. Merci d'avance.


vendredi 6 février 2009 à 12:56:21 | Re : Compte à rebours utilisant des données présentes dans un base de données MySQL

bali_balo

<?php

$host = "localhost";
$user = "root";
$mpasse = "";

$connexion = mysql_connect($host,$user,$mpasse) or die("Connexion a la base de donnee impossible");

$database = "ma_base";

$db = mysql_select_db($database) or die("La base de donnee n'a pas pu etre selectionnee");
   
?>

//l'accès à la table concernée

<?php
        $req = "SELECT * FROM ma_table WHERE principale='oui'";
        $result = mysql_query($req) or die ("La requete n'a pas pu etre executee");           
        $ligne = mysql_fetch_array($result);
        extract($ligne);
?>  
// à vue d'oeil je ne peux pas te dire si ton code php fonctionne : il faut juste qu'il renvoie de bonne variable sous cette forme :
// "nom=bali&prenom=balo&age=10&hobbie=flash" etc...




// de préférence déclares toutes tes variables qui sont dans le onEnterFrame() en début de script sans oublier de les typer !!!
var
fin_serveur :Number;
//etc...


var temps = new LoadVars();
temps.onLoad = function (ok)
{
   if(ok)
            {
                // lorsque tu récupères les variables de ton objet LoadVars, leur type est String !!
                // qu'il faut convertir dans le type que tu veux, en l'occurence ici c'est du type Number

                fin_serveur = Number( this.end1 );
                temps_restant = fin_serveur -
Number( this.today ) ;
               
          }
};

// de préférence l'appel de ton script doit se faire APRÈS la définition de ta fonction onLoad().
temps.load("fonctions.php");


_root.onEnterFrame = function ()
{
    restant = temps_restant;
    jours = restant / 86400;
    jours = Math.floor(jours);
    restant = restant - 86400 * jours;
    heures = restant / 3600;
    heures = Math.floor(heures);
    restant = restant - 3600 * heures;
    minutes = restant / 60;
    minutes = Math.floor(minutes);
    secondes = restant - 60 * minutes;
}


// Ton texte dynamique : tu lui as donné un nom d'instance ou tu l'as associé à un nom de variable du _root ?
// fais attention à cela car l'affichage n'est pas le même



BREF, ton problème vient principalement du "castage". C'est à dire de l'oublie de la conversion du type String en type Number.
Tous les autres commentaire en rouge te permettent d'éviter d'autres bugs

C'est sûr que ça marche maintenant

bali_balo....=]

vendredi 6 février 2009 à 14:18:15 | Re : Compte à rebours utilisant des données présentes dans un base de données MySQL

Triice

En fait j'ai adressé un nom de variable ET  un nom d'occurence et j'avoue ne pas savoir lequel utiliser au préférable.
Et là j'essaie de prendre en compte les conseils donnés. J'aimerais bien que ça marche quand même cette histoire!
vendredi 6 février 2009 à 14:21:41 | Re : Compte à rebours utilisant des données présentes dans un base de données MySQL

bali_balo

Il est préférable de donner seulement un nom d'occurrence à ton TextField.
Ensuite tu faits : monTextField.text = tonString;

bali_balo....=]

vendredi 6 février 2009 à 14:33:21 | Re : Compte à rebours utilisant des données présentes dans un base de données MySQL

Triice

Une chose que je ne comprends pas (quand je comprends je comprends...mais ça prend son temps!), en faisant monTextField.text = tonString
tonString fait référence à ce que je récupère du php n'est ce pas?
Si je récupère un champ text comment puis-je effectuer mes opérations dans ce cas?
(En tout cas merci pour ton aide fort bienvenue)
vendredi 6 février 2009 à 14:39:45 | Re : Compte à rebours utilisant des données présentes dans un base de données MySQL

bali_balo

Je voulais dire par là que "tonString" est une variable de type String.

"tonString fait référence à ce que je récupère du php n'est ce pas?" Si tu veux, car de toute façon ça sera toujours de type String.

bali_balo....=]

vendredi 6 février 2009 à 15:05:38 | Re : Compte à rebours utilisant des données présentes dans un base de données MySQL

Triice

Bon alors. Il s'en est passé des choses.
J'ai d'abord suivi tes conseils et ai fait qqch qui ressemblait à peu près à ça:

Php:

La même chose et j'avais oublié ça:
    $begin1 = strtotime($debut);                 // c'est ma date de début du compte à rebours
    $end1 = strtotime($fin);                        // ma date de fin du compte à rebours

Donc ce sont mes variables récupérées en php

Et pour mon flash:

//ma frame 1

var   fin_serveur :Number;
var   temps_restant :Number;
var   debut_serveur :Number;
var   jrs :Number;
var   hrs :Number;
var   min :Number;
var   sec :Number;


var temps = new LoadVars();
temps.onLoad = function (ok)
{
   if(ok)
            {

                fin_serveur = Number( this.end1 );
                debut_serveur = Number( this.begin1);
                temps_restant = fin_serveur - debut_serveur ;
              
          }
};
temps.load("fonctions.php");


//ma frame 2
_root.onEnterFrame = function ()
{
    restant = temps_restant;
    jrs.text = restant / 86400;
    jrs.text = Math.floor(jrs.text);
    restant = restant - 86400 * jrs.text;
    hrs.text = restant / 3600;
    hrs.text = Math.floor(hrs.text);
    restant = restant - 3600 * hrs;
    min.text = restant / 60;
    min.text = Math.floor(min.text);
    sec.text = restant - 60 * min.text;
}

//ma frame 3

gotoAndPlay(2);

C'est si mauvais que ça??


Et j'ai obtenu des clignotements.

Donc j'ai supprimé le gotoAndPlay, puis ai tout inséré dans ma première frame, dans une seule image clé. Et là c'est le drame.
Il m'a affiché une série d'erreurs, me disant que .text n'existait pas en gros.

J'ai enlevé tous mes ".text" et depuis plus rien. Même le Nan me manque presque : ça n'affiche rien.




Cette discussion est classée dans : base, données, mysql, temps, restant


Répondre à ce message

Sujets en rapport avec ce message

Comment scrutter et mettre à jour des données dans une base mysql ? [ par lechti62 ] Bonjour, je suis en train de créer un jeu multijoueurs et je stocke des tas de données relatives aux joueurs dans une base mysql, jusque là pas de so Formulaires - Petite base de données - Aide rémunérée [ par Ceneri ] Formulaires - Petite base de données - Aide rémunérée Bonjour à tous Je ne suis pas sur d'être dans la bonne rubrique, car J'ai acheté un template f base de donnée MYSQL [ par nthl ] bonjour, mon hebergeur me propose une activation de la base de donnée Mysql, je n'y connais rien, donc ma question est : a quoi cela va me servir ? do Galerie avec appel base de données, Galerie avec appel base de données [ par dreadstock ] bonjour,Voila je suis en train de construire des galeries photos pour mon site web, du style petite vignette sur la gauche, quand on clique sur une vi PROGRAMMATION EN DELPHI [ par dya1986 ] BONJOUR QQ1 PEUT M'aider,je ss debutante en delphi et j'aimerai transformer une base de données de location de voiture en service web (client/serveur) Base de données [ par Zedbar1 ] Salut à tous,Je me lance dans ma première base de données et pour être franc je ne sais pas par où commencer. Alors merci d'avance à ceux qui voudront Flash et quel logiciel pour la base de données ? [ par geozero ] Bonjour à tous, J'aimerai réaliser une carte animée et interactive (avec frise chronologique) sous flash à partir d'une base de données. Comme je tra Probleme : flash connexion base de donnée [ par psylone ] Salut !j'ai fait une ptite anim en flashelle affiche des news stoquées dans une base de donnée mysql grace a un script php. ca ca marche en local et s flash MySQL Besoin de vos lumiaires [ par studiotiger ] Bonjour à tous, Novice dans le SQl mon problème n'est peut-être pas si compliqué mais pour moi snas est de trop. J'ai ma base de donné, je correspon flash MySQL Besoin de vos lumiaires [ par studiotiger ] Bonjour à tous, Novice dans le SQl mon problème n'est peut-être pas si compliqué mais pour moi snas est de trop. J'ai ma base de donné, je correspond


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,593 sec (4)

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