Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1509 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Transférer données (manuscrites) vers BDD puis les additionner

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Transférer données (manuscrites) vers BDD puis les additionner

n°1319813
oli1987
Posté le 06-03-2006 à 21:22:23  profilanswer
 

Bonsoir à tous !
 
Voilà, je viens de créer un petit sytème de pronostic. L'internaute se connecte, pronostic. Celui ci est enregistré dans une base de données. Ensuite, je valider le pronostic après que le résultat ne soit connu. Sur la première page apparait son pronostic, le résultat réel, et ses points obtenus.
 
Il faudrait donc que les points obtenus puissent être envoyés vers une table de données sans que l'internaute ne fasse quelque chose. Une fois ses points dans une table, il faudrait additionner tous ses points depuis le début (des pronostics donc) et établir un petit classement.
 
Comment donc envoyer les points dans une table sans qu'il ne fasse rien ????

Message cité 1 fois
Message édité par oli1987 le 06-03-2006 à 21:41:07
mood
Publicité
Posté le 06-03-2006 à 21:22:23  profilanswer
 

n°1319956
fluminis
Posté le 07-03-2006 à 10:18:04  profilanswer
 

hum...
si je comprends bien,
- "L'internaute se connecte, pronostic" => il soumet un formulaire et là tu as une page qui enregistre le pronostique dans une table de ta base de données.
- "je valider le pronostic après que le résultat ne soit connu" => là cette fois c'est toi qui valide un autre formulaire, donc à ce moment là tu mets a jour les points de tes utilisateurs.


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1320432
newneo2001
Posté le 07-03-2006 à 18:21:54  profilanswer
 

mais t'as toujours pas fini avec ca toi ? ;)


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
n°1320501
smaragdus
whores, drugs & J.S. Bach
Posté le 07-03-2006 à 20:00:23  profilanswer
 

oli1987 a écrit :


Il faudrait donc que les points obtenus puissent être envoyés vers une table de données sans que l'internaute ne fasse quelque chose.


 
Sans qu'il ne fasse rien, c'est pas possible à moins d'engager un voyant qui va lire dans les pensées de l'internaute.
 
Autre solution : le manuel MySQL est ton ami, on peut y apprendre à faire une requete qui effectue une somme.

n°1320587
oli1987
Posté le 07-03-2006 à 22:04:43  profilanswer
 

salut, non ce n'est pas une somme que je veux faire dans l'immédiat.
Lorsque le résultat du pronostic est connu, j'envoye une donné dans ma table qui affiche sur la zone privée le nombre de points que l'internaute a obtenu. Mais ce nombre n'est affiché que sur la page d'accueil de la zone privée, et j'aimerai l'envoyé dans une autre table également ...

n°1320596
smaragdus
whores, drugs & J.S. Bach
Posté le 07-03-2006 à 22:17:21  profilanswer
 

e manuel MySQL est ton ami, on peut y apprendre à faire une requete qui effectue une insertion vu que tes explications sont imbitables

n°1320597
oli1987
Posté le 07-03-2006 à 22:20:13  profilanswer
 

pfff

n°1320608
newneo2001
Posté le 07-03-2006 à 23:03:02  profilanswer
 

mais si tu sais faire une requete je vois pas où est le problème dans ton truc. En + c'est pa super clair ce que tu dis.


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
n°1320631
gatsu35
Blablaté par Harko
Posté le 07-03-2006 à 23:34:37  profilanswer
 

laissez le faire, on viendra lui prendre son argent une fois qu'il aura mis son stie en ligne

n°1320658
smaragdus
whores, drugs & J.S. Bach
Posté le 08-03-2006 à 00:42:16  profilanswer
 

newneo2001 a écrit :

mais si tu sais faire une requete je vois pas où est le problème dans ton truc. En + c'est pa super clair ce que tu dis.


C'est clair que c'est le truc basique de chez basique ce qu'il demande (comptabiliser des points) mais il ose encore demander si c'est "possible de faire" ça en php/mysql : à traduire par "faites le à ma place"

mood
Publicité
Posté le 08-03-2006 à 00:42:16  profilanswer
 

n°1320686
oli1987
Posté le 08-03-2006 à 07:34:11  profilanswer
 

si tu le dis, t'as surement raison manneke

n°1320768
oli1987
Posté le 08-03-2006 à 10:34:24  profilanswer
 

> ma requete appelle le pronostic et la bonne réponse. Ma condition if attribue des points si le prono == bonne réponse
 
Et sur l'écran, seul "Vous avez 5 points" apparait. Mais les "5 points" ne sont pas présent dans une table

n°1320772
gatsu35
Blablaté par Harko
Posté le 08-03-2006 à 10:43:58  profilanswer
 

ben faut faire les calculs et enregistrer ces points dans la base de données avant de les afficher

n°1320781
oli1987
Posté le 08-03-2006 à 10:53:52  profilanswer
 

et il y a moyen de regrouper une donnée de deux tables dans une seule table ???

n°1320830
ritzle
Posté le 08-03-2006 à 11:38:40  profilanswer
 

RTFM !

n°1320831
smaragdus
whores, drugs & J.S. Bach
Posté le 08-03-2006 à 11:40:03  profilanswer
 

oli1987 a écrit :

et il y a moyen de regrouper une donnée de deux tables dans une seule table ???


 
non, c'est pas possible :o

n°1320836
omega2
Posté le 08-03-2006 à 11:56:45  profilanswer
 

oli1987 > Il est grand grand temps que tu apprennes à mieux organiser ton code et tes données, bref que t'aprenne à faire des algorythmes :

  • Etape 1 : déterminer ce que fait chaque page du site, ce que chaque d'entre elles doit afficher comme information et de quoi ont elles besoin comme information pour tout afficher (il faut déjà faire la différence à ce niveau entre ce que l'utilisateur doit saisir à l'instant et ce qui est stocké dans la base de donnée)
  • Etape 2: une fois répertorié toutes les informations qui doivent être stocké dans la base, il faut que tu détermines les relations existant entre chaque donnée afin de déterminer comment les placer (par exemple "un pari est un choix de résultat fait par une personne donnée sur un match donné". Donc la table pari contiendra au moins l'identifiant de la personne, l'identifiant du match et le résultat choisit.)
  • Etape 3: créer l'algorythme détaillé permettant de récupérer ou calculer les données à afficher. En bref, pour chaque élément affiché ou calculé : qu'est ce que je vais chercher et où, comment vais je les récupérer et qu'est ce que je vais en faire.


Si tu n'as rien fait de tout ça et que tu n'as pas une vision inné de l'organisation des données et du code, alors c'est normal que tes explications soient aussi bordélique et qu'en fait, ca ne soit pas plus clair dans ta tête. Je sais trés bien que c'est chiant de devoir faire ça, mais si tu ne veux pas que ton site et tes données ressemblent à un méga plat de spaguetis à la bolognaise où chaque spaguetis est un cheminement logique et chaque morceaux de viande un élément inutile dans lequel tu t'es empétré et dont tu ne sais même plus s'il est encore utilisé alors t'as intéré de te mettre d'arrache pied à la création d'algorythme avant de continuer quoi que ce soit dans ton site.

n°1320838
omega2
Posté le 08-03-2006 à 11:58:48  profilanswer
 

smaragdus a écrit :

non, c'est pas possible :o


Et pourtant, ("vue" d'une base de donnée, requettes de type "insert ... Select" ) mais vu ses questions c'est actuellement hors de sa porté vu qu'il ne sais pas faire des chôses pourtant beaucoup plus simple.

n°1321204
oli1987
Posté le 08-03-2006 à 17:50:53  profilanswer
 

Pour être clair ;)
Voilà ce que je sais faire apparaître à l'écran. Seulement, la valeur des points qui est 5, vient de la table avec la bonne réponse. pointsok : 5, pointsko : 0
 
http://users.skynet.be/fa627592/nouvel1.gif
 
Je sais donc juste calculer que cela vaut 10 points, mais j'aimerai qu'ils soient présents dans une table de données et non pas via une simple addition de résultats de requête.
 
 
C'est plus clair ?

n°1321212
gatsu35
Blablaté par Harko
Posté le 08-03-2006 à 18:00:04  profilanswer
 

juste une question
tu pourrais donner le code HTML/PHP de ton truc là ?

n°1321215
oli1987
Posté le 08-03-2006 à 18:03:15  profilanswer
 

c'est clair qu'il va y avoir une chiée de requêtes, et c'est pour ça que j'aimerai mieux mettre tout ça dans une table...
 
att"

n°1321216
oli1987
Posté le 08-03-2006 à 18:03:31  profilanswer
 

Code :
  1. <?php
  2. session_start();
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  8. <title>BCML.BE : Zone privée</title>
  9. </head>
  10. <body background="background.gif">
  11. <?php
  12. $host = "localhost"; 
  13. $login = "root"; 
  14. $password = ""; 
  15. $base = "bcml"; 
  16. $db = mysql_connect($host,$login,$password) or die ("problème lors de la création de la connection !" );
  17. $database = mysql_select_db($base,$db) or die ("problème lors de la création de la connection !" ); 
  18. ?>
  19. <?php
  20. $sql = mysql_query("SELECT id FROM users WHERE pseudo='". mysql_real_escape_string($_SESSION['MM_Username']) ."'" ) or die ("problème lors de la création de la connection !" );
  21. $res = mysql_fetch_assoc($sql);
  22. ?>
  23. <?php
  24. $req1 = mysql_query("SELECT id FROM prono WHERE id='1'" );
  25. $res1 = mysql_fetch_array($req1);
  26. ?>
  27. <?php
  28. $req2 = mysql_query("SELECT reponse FROM pari WHERE id_pari='1' AND id_user='". mysql_real_escape_string($res['id']) ."'" );
  29. $res2 = mysql_fetch_array($req2);
  30. ?>
  31. <?php
  32. $req3 = mysql_query("SELECT reponse FROM result WHERE id='1'" );
  33. $res3 = mysql_fetch_array($req3);
  34. ?>
  35. <?php
  36. $req4 = mysql_query("SELECT pointsok FROM result WHERE id='1'" );
  37. $res4 = mysql_fetch_array($req4);
  38. ?>
  39. <?php
  40. $req5 = mysql_query("SELECT pointsko FROM result WHERE id='1'" );
  41. $res5 = mysql_fetch_array($req5);
  42. ?>
  43. <?php
  44. $req6 = mysql_query("SELECT id FROM prono WHERE id='7'" );
  45. $res6 = mysql_fetch_array($req6);
  46. ?>
  47. <?php
  48. $req7 = mysql_query("SELECT reponse FROM pari WHERE id_pari='7' AND id_user='". mysql_real_escape_string($res['id']) ."'" );
  49. $res7 = mysql_fetch_array($req7);
  50. ?>
  51. <?php
  52. $req8 = mysql_query("SELECT reponse FROM result WHERE id='7'" );
  53. $res8 = mysql_fetch_array($req8);
  54. ?>
  55. <?php
  56. if ($res2['reponse'] == $res3['reponse'])
  57. {
  58. $total = $res4['pointsok'];
  59. $message = 'Bravo !';
  60. }
  61. else
  62. {
  63. $total = $res5['pointsko'];
  64. $message = 'Pas de chance';
  65. }
  66. if ($res7['reponse'] == $res8['reponse'])
  67. {
  68. $total1 = $res4['pointsok'];
  69. $message1 = 'Bravo !';
  70. }
  71. else
  72. {
  73. $total1 = $res5['pointsko'];
  74. $message1 = 'Pas de chance';
  75. }
  76. $score = $total + $total1;
  77. ?>
  78. <?php
  79. echo '<p>Bonjour '.$_SESSION['MM_Username'];
  80. echo '<p>Pronostic 1 par <a href=pari.php>ici</a></p>';
  81. echo '<p>Pronostic 2 par <a href=pari2.php>ici</a></p>';
  82. echo '<hr>';
  83. echo 'Prono numéro '.$res1['id'];
  84. echo '<p>Votre pronostic était : '.$res2['reponse'];
  85. echo '<br>Et la réponse correcte est : '.$res3['reponse'];
  86. echo '<br>Vous totalisez '.$total;
  87. echo ' point(s). '.$message;
  88. echo '<hr>';
  89. echo 'Prono numéro '.$res6['id'];
  90. echo '<p>Votre pronostic était : '.$res7['reponse'];
  91. echo '<br>Et la réponse correcte est : '.$res8['reponse'];
  92. echo '<br>Vous totalisez '.$total1;
  93. echo ' point(s). '.$message1;
  94. echo '<p>Vous totalisez donc '.$score;
  95. echo ' points';
  96. ?>
  97. <?php
  98. mysql_close(); 
  99. ?> 
  100. </body>
  101. </html>

n°1321242
gatsu35
Blablaté par Harko
Posté le 08-03-2006 à 18:31:41  profilanswer
 

Bon les gars je vous laisse l'achever, j'ai pas le courage de lui dire...

n°1321244
omega2
Posté le 08-03-2006 à 18:33:30  profilanswer
 

j'ai pas pris le temps d'éplucher ton code mais ça, ca m'a sauter aux yeux :

Code :
  1. <?php
  2. $req3 = mysql_query("SELECT reponse FROM result WHERE id='1'" );
  3. $res3 = mysql_fetch_array($req3);
  4. ?>
  5. <?php
  6. $req4 = mysql_query("SELECT pointsok FROM result WHERE id='1'" );
  7. $res4 = mysql_fetch_array($req4);
  8. ?>
  9. <?php
  10. $req5 = mysql_query("SELECT pointsko FROM result WHERE id='1'" );
  11. $res5 = mysql_fetch_array($req5);
  12. ?>


Deux remarques :  

  • si t'as besoin de plusieurs données provenant de la même ligne d'une table, alors fait le en 1 seule requette. Ca ne sert à rien se s'amuser à faire bosser 15 fois la base de donnée quand c'est faisable en une seule fois.
  • Ca sert à rien de sortir du mode php si tu n'affiches rien avant le bout de code php suivant. C'est une perte de temps processeur inutile, ca te rajoute des caractéres inutiles pour ne pas dire génant dans le code html final et ca n'a aucune utilité.


Bref, ton code super long que j'ai recopier ci dessus, il devient :

Code :
  1. <?php
  2. $req3 = mysql_query("SELECT reponse,pointsok,pointsko FROM result WHERE id='1'" );
  3. $res3 = mysql_fetch_array($req3);
  4. ?>


 
A toi d'adapter le reste, ca rendra le tout plus facile à relire et surtout, ca rendra ta page énormément plus rapide.

n°1321246
oli1987
Posté le 08-03-2006 à 18:38:35  profilanswer
 

oki merci ! et si sur une page je veux afficher tous les résultats obtenus, je dois donc mettre toutes ces requêtes ??? c'est obligé donc ?

n°1321247
gatsu35
Blablaté par Harko
Posté le 08-03-2006 à 18:40:40  profilanswer
 

google, manuel php, manuel mysql, tutos php, tutos mysql, tutos HTML, tutos CSS, toussa quoi et revient pas avant

n°1321251
oli1987
Posté le 08-03-2006 à 18:46:52  profilanswer
 

titchu ti, t'es vachement cultivé

n°1321256
gatsu35
Blablaté par Harko
Posté le 08-03-2006 à 18:53:54  profilanswer
 

parle français s'il te plait, on te comprend par parfois.

n°1321259
oli1987
Posté le 08-03-2006 à 18:56:45  profilanswer
 

ho pour rire hein, on va se documenter alors ;)

n°1321476
Dj YeLL
$question = $to_be || !$to_be;
Posté le 08-03-2006 à 23:21:49  profilanswer
 

oli1987 a écrit :

ho pour rire hein, on va se documenter alors ;)


 
Oh oui, allez-y tous les 2 même ;)


---------------
Gamertag: CoteBlack YeLL
n°1321524
gatsu35
Blablaté par Harko
Posté le 09-03-2006 à 07:26:38  profilanswer
 

Nan pour moi ca ira pour aujourd'hui, mais tout dev que je fais passe par :
-Cahier des charges
-Analyse du bouzin
-Spécifications fonctionnelles (en parties comprises dans le cahier des charges)
-Recherche spécifique sur certaines technos qui pourraient être employés si j'en ai pas la connaissance ni la pratique, donc entrainement avant sur un modele
-Codage propre (ca c'est pas compliqué quand on est rigoureux) et surtout très commenté.
 
Si tout le monde prenait un minimum ces prérogatives je pense qu'ils n'auraient pas forcément besoin d'envahir le forum avec des questions à 2 balles.

Message cité 1 fois
Message édité par gatsu35 le 09-03-2006 à 07:27:14
n°1321543
Dj YeLL
$question = $to_be || !$to_be;
Posté le 09-03-2006 à 09:09:53  profilanswer
 

gatsu35 a écrit :

Nan pour moi ca ira pour aujourd'hui, mais tout dev que je fais passe par :


 
Je parlais pas de toi en disant "allez-y tous les 2" :whistle:


---------------
Gamertag: CoteBlack YeLL
n°1321567
gatsu35
Blablaté par Harko
Posté le 09-03-2006 à 09:37:46  profilanswer
 

Ben tu parlais de qui alors ?

n°1321573
Dj YeLL
$question = $to_be || !$to_be;
Posté le 09-03-2006 à 09:45:10  profilanswer
 

gatsu35 a écrit :

Ben tu parlais de qui alors ?


 
Je pensais qu'ils s'y étaient mis à 2 pour pondre ce code ... je savais pas que c'était possible tout seul :whistle:
 
'fin c'était un joke quoi [:jofusion]


---------------
Gamertag: CoteBlack YeLL
n°1321589
gatsu35
Blablaté par Harko
Posté le 09-03-2006 à 09:57:49  profilanswer
 

Ben le truc à chier qu'ils sont en train de pondre c'est tout à fait développable tout seul :/
si on est rigoureux et qu'on a bien pondu toutes les spécifications avant.
De là à faire une analyse en UML c'est un peu gros mais ca se pourrait
tiens ca me fait penser, j'ai de la lecture à faire moi

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Transférer données (manuscrites) vers BDD puis les additionner

 

Sujets relatifs
Traitement des données d'un formulaireexport données d'un .db
Tableau de données actualisé avec formulairerécupérer des données avec perl
mysql php recuperer des donnéesImpossible d'effectuer cette opération pour les BDD Access 1.x
login, CreateUserWizard... avec BDD existanteConserver des données avant de les valider
Transfert de ma base de donnéesEnvoi de données
Plus de sujets relatifs à : Transférer données (manuscrites) vers BDD puis les additionner


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR