[PHP] Lire en permanence un champ d'une bdd mysql

Lire en permanence un champ d'une bdd mysql [PHP] - PHP - Programmation

Marsh Posté le 03-06-2005 à 16:20:08    

Bonjour.
 
J'aimerai lire un champ d'une base de donnée mysql en php en permanence mais j'ignore comment le coder :/
 
Pour le moment, je lis le champ de la bdd et je rafraichis la page php au bout d'un certain temps pour mettre la valeur a jour.
 
Je trouve pas ce systeme tres pratique et je pense pas que celà soit recommandé.
 
Help me :)
 
 :hello:

Reply

Marsh Posté le 03-06-2005 à 16:20:08   

Reply

Marsh Posté le 03-06-2005 à 16:21:23    

En fait tu veux que à chaque fois que la valeur dans la base de données change, la page se ré-affiche?
Mais c'est qui qui modifie la valeur dans la BD?

Reply

Marsh Posté le 03-06-2005 à 16:27:10    

cesarr89 a écrit :

En fait tu veux que à chaque fois que la valeur dans la base de données change, la page se ré-affiche?
Mais c'est qui qui modifie la valeur dans la BD?

grosso modo, c'est ça.
 
pour mes tests, je change la valeur a la main dans mysql, sinon ça sera une balance qui pese different objet et donc avec un poids different ;)

Reply

Marsh Posté le 03-06-2005 à 16:36:04    

Bah si la page sert juste à afficher la valeur de la BD, à la limite tu boucle sur un test, si valeur actuelle == ancienne valeur alors rien faire sinon recharger la page. :??:


Message édité par cesarr89 le 03-06-2005 à 16:40:27
Reply

Marsh Posté le 03-06-2005 à 16:41:55    

autant que je laisse ma ligne qui rafraichis la page alors, non ?
 
<META HTTP-EQUIV="Refresh" CONTENT="9">
 
parce que sinon il va sans doute rafraichir la page comme un fou sans arret :/

Reply

Marsh Posté le 03-06-2005 à 16:42:51    

Oué bah je sais pas en fait.


Message édité par cesarr89 le 03-06-2005 à 16:44:43
Reply

Marsh Posté le 03-06-2005 à 16:46:59    

sinon tu pourrais peut etre me dire comment mettre a jour une variable en php ? :)
 
Comme ça je boucle avec un while(1) avec un sleep() dedans, et ma valeur est mise a jour automatiquement :)
 
Comme ça ça évite de rafraichir entierement la page.

Reply

Marsh Posté le 03-06-2005 à 16:50:37    

J'ai pas tout compris là.

Reply

Marsh Posté le 03-06-2005 à 16:52:20    

C'est pas grave ;)
 
Chuis en train d'expérimenter des trucs :P
 
Merci d'avoir essayé de m'aider ;)


Message édité par KikitheKing le 03-06-2005 à 16:52:30
Reply

Marsh Posté le 03-06-2005 à 16:53:41    

de rien

Reply

Marsh Posté le 03-06-2005 à 16:53:41   

Reply

Marsh Posté le 03-06-2005 à 17:04:13    

cesarr89 a écrit :

Bah si la page sert juste à afficher la valeur de la BD, à la limite tu boucle sur un test, si valeur actuelle == ancienne valeur alors rien faire sinon recharger la page. :??:

Tu pourrais me proposer un code de ce que tu dis ?
 
J'expérimente ceci pour le moment:
 

Citation :

link = mysql_connect("localhost", "root", "" );
$requete = "SELECT ValeurBalance FROM TableProduction WHERE id = 1";
$result = mysql_db_query("BaseProduction", $requete);
$test = mysql_fetch_array($result);
echo "<b>Poids actuel:</b> $test[ValeurBalance]";
 
if ($test == $test)
{
 retester();
 
 echo "test";  
}
else if ($test != $test)
 {
  echo "$test[ValeurBalance]";
  retester();
 }
}
 
 
 
 
function retester()
{
 $requete1 = "SELECT ValeurBalance FROM TableProduction WHERE id = 1";
 $result1 = mysql_db_query("BaseProduction", $requete1);
 $test = mysql_fetch_array($result1);
}


 
ça ne marche pas correctement.
 
 
 
Et ce qui marche bien mais que j'aimerai changer, c'est ça:
 

Citation :

<META HTTP-EQUIV="Refresh" CONTENT="9">
<?
$link = mysql_connect("localhost", "root", "" );
$requete = "SELECT ValeurBalance FROM TableProduction WHERE id = 1";
$result = mysql_db_query("BaseProduction", $requete);
 
$test = mysql_fetch_array($result);
echo "<b>Poids actuel:</b> $test[ValeurBalance]";
?>


Reply

Marsh Posté le 03-06-2005 à 17:06:33    

C'était peut être une connerie ce que j'ai dis aussi....

Reply

Marsh Posté le 03-06-2005 à 17:12:22    

Je sais meme pas si c'est réalisable en php ce que je demande :/
 
M'enfin spas trop grave, j'ai ma derniere solution qui elle fonctionne bien :)

Reply

Marsh Posté le 03-06-2005 à 17:13:01    

KikitheKing a écrit :

Je sais meme pas si c'est réalisable en php ce que je demande :/


 
Je me le demande bien.

Reply

Marsh Posté le 03-06-2005 à 17:17:50    

Code :
  1. link = mysql_connect("localhost", "root", "" );
  2. $requete = "SELECT ValeurBalance FROM TableProduction WHERE id = 1";
  3. $result = mysql_db_query("BaseProduction", $requete);
  4. $test = mysql_fetch_array($result);
  5. echo "<b>Poids actuel:</b> $test[ValeurBalance]";
  6. if ($test == $oldtest)
  7. {
  8. retester();
  9. echo "test"; 
  10. }
  11. else
  12. {
  13.   echo "$test[ValeurBalance]";
  14.   $oldtest = $test;
  15.   retester();
  16. }
  17. }
  18. function retester()
  19. {
  20. $requete1 = "SELECT ValeurBalance FROM TableProduction WHERE id = 1";
  21. $result1 = mysql_db_query("BaseProduction", $requete1);
  22. $test = mysql_fetch_array($result1);
  23. }


ca serait pas mieux comme ca ? paske là, $test == $test, il risque pas de passer à false :)


Message édité par denzz le 03-06-2005 à 17:19:18
Reply

Marsh Posté le 03-06-2005 à 17:20:46    

Je test avec ton idée ce soir :)
 
Merci :)

Reply

Marsh Posté le 03-06-2005 à 17:36:31    

fais gaffe à la portée de tes variables aussi, si ca se trouve ton '$test' que tu modifies dans la fonction retester ne modifie pas le $test de ta page.
il vaudrait mieux faire un  

Code :
  1. function retester()
  2. {
  3. $requete1 = "SELECT ValeurBalance FROM TableProduction WHERE id = 1";
  4. $result1 = mysql_db_query("BaseProduction", $requete1);
  5. return mysql_fetch_array($result1);
  6. }
  7. et $test = retester();

Reply

Marsh Posté le 05-06-2005 à 19:39:18    

Fais une recherche sur google avec les mots HTTP Request.
 
C'est une méthode qui récupère des données sur un serveur distant sans recharger la page.


---------------
La curiosité est un vilain défaut car l'erreur et la frustration sont de croire qu'elle pourra être satisfaite !
Reply

Sujets relatifs:

Leave a Replay

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