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

  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire (SQL)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formulaire (SQL)

n°1499778
univscien1
Posté le 06-01-2007 à 17:25:36  profilanswer
 

Salut. :)  Je me suis mis depuis 3, 4 jours au PHP, et il m'est venu l'idée de faire un système tout bête de formulaire, pour que les visiteurs de mon site puissent lui attribuer une note.
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
  3.    <head>
  4.        <title>Univers du TI Basic</title>
  5.        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6.        <link rel="stylesheet" media="screen" type="text/css" title="css" href="test.css" />
  7.    </head>
  8.    <body>
  9.   <form action="livreor.php" method="post">
  10. <select name="tonvote">
  11.     <option value="Note">Note</option>
  12.     <option value="01">01/20</option>
  13.     <option value="02">02/20</option>
  14.     <option value="03">03/20</option>
  15.     <option value="04">04/20</option>
  16.     <option value="05">05/20</option>
  17.     <option value="06">06/20</option>
  18.     <option value="07">07/20</option>
  19.     <option value="08">08/20</option>
  20.     <option value="09">09/20</option>
  21.     <option value="10">10/20</option>
  22.     <option value="11">11/20</option>
  23.     <option value="12">12/20</option>
  24.     <option value="13">13/20</option>
  25.     <option value="14">14/20</option>
  26.     <option value="15">15/20</option>
  27.     <option value="16">16/20</option>
  28.     <option value="17">17/20</option>
  29.     <option value="18">18/20</option>
  30.     <option value="19">19/20</option>
  31.     <option value="20">20/20</option>
  32. </select>
  33. <input type="submit" value="GO!" />
  34. </form>
  35. <?php
  36. if (isset($_POST['tonvote']) AND $_POST['tonvote'] != 'Note')
  37. {
  38. $tonvote = htmlentities ($_POST['tonvote']);
  39. mysql_connect("localhost", "root", "" );
  40. mysql_select_db("test" );
  41. mysql_query("INSERT INTO vote VALUES('', '$tonvote')" );
  42. $sommenote = ("SELECT sum(note) AS somme_de_toutes_les_notes FROM vote" );
  43. $sommenoteok = mysql_fetch_array($sommenote);
  44. $entre = ("SELECT COUNT(*) AS nombres_entre FROM vote" );
  45. $entreok = mysql_fetch_array($entre);
  46. $moyenne = $sommenoteok['somme_de_toutes_les_notes'] / $entreok['nombres_entre'];
  47. echo 'Note moyenne attribué au site:' . $moyenne . '/20';
  48. mysql_close();
  49. }
  50. ?>
  51. </body>
  52. </html>



Message:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in e:\documents de jérome\testbdd\livreor.php on line 43
 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in e:\documents de jérome\testbdd\livreor.php on line 45
 
Warning: Division by zero in e:\documents de jérome\testbdd\livreor.php on line 46

 
Ligne 43: $sommenoteok = mysql_fetch_array($sommenote);
Ligne 45: $entreok = mysql_fetch_array($entre);
Ligne 46: $moyenne = $sommenoteok['somme_de_toutes_les_notes'] / $entreok['nombres_entre'];
 
Voilà, je n'est aucune idées des fautes. :(
Quelqu'un pour m'aider?

mood
Publicité
Posté le 06-01-2007 à 17:25:36  profilanswer
 

n°1499780
smartdevil
V
Posté le 06-01-2007 à 17:30:19  profilanswer
 

deja rien a voir avec ton probleme mais fais une boucle pour les options de ton select car la ...
 
fais un echo de tes requetes et testes les direct dans ton sgbd pour commencer

n°1499911
FlorentG
Unité de Masse
Posté le 07-01-2007 à 12:30:23  profilanswer
 

Ca sert à rien de faire un htmlentities pour l'insertion dans la base, c'est mysql_real_escape_string qu'il faut utiliser...
 
Ensuite tu fais un mysql_fetch_array, mais t'as oublié le mysql_query juste avant (ta requête est entre parenthèse, manque le mysql_query [:johneh] )

n°1499913
univscien1
Posté le 07-01-2007 à 12:33:25  profilanswer
 

EDIT: Dsl Florent G j'avais pas vu ton message.
Je comprend pas, il me manque des requête SQL là? :??:  
 
__
 
Re edit: A oui effectivement j'avais pas vu. Je modifie et je vous dit çà.
_______________________________
 
Euh désolé j'ai pas tout compri :sweat:  
 
CODE:

Code :
  1. <?php
  2. if (isset($_POST['tonvote']) AND $_POST['tonvote'] != 'Note')
  3. {
  4. $tonvote = htmlentities($_POST['tonvote']);
  5. mysql_connect("localhost", "root", "" );
  6. mysql_select_db("test" );
  7. mysql_query('INSERT INTO vote VALUES("", '.$tonvote.')');
  8. $data = ("SELECT AVG(note) AS moyenne FROM vote" );
  9. $data = mysql_fetch_array($data, 0);
  10. echo 'Note moyenne attribué au site:' . $data['moyenne'] . '/20';
  11. mysql_close();
  12. }
  13. ?>


Message:
 
Warning: mysql_fetch_array(): The result type should be either MYSQL_NUM, MYSQL_ASSOC or MYSQL_BOTH. in e:\documents de jérome\testbdd\livreor.php on line 43
 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in e:\documents de jérome\testbdd\livreor.php on line 43

 
Ligne 43: $data = mysql_fetch_array($data, 0);
 
Et j'ai recréé une table en faisant bien attention de mettre INT pour les 2 champs, auto_increment  et index pour id.
 
 
Le but est de calculer la moyenne. Donc je préfer utiliser ce code:
 

Code :
  1. <?php
  2. if (isset($_POST['tonvote']) AND $_POST['tonvote'] != 'Note')
  3. {
  4. $tonvote = htmlentities ($_POST['tonvote']);
  5. mysql_connect("localhost", "root", "" );
  6. mysql_select_db("test" );
  7. mysql_query("INSERT INTO vote VALUES('', '$tonvote')" );
  8. $sommenote = ("SELECT sum(note) AS somme_de_toutes_les_notes FROM vote" );
  9. $sommenoteok = mysql_fetch_array($sommenote);
  10. $entre = ("SELECT COUNT(*) AS nombres_entre FROM vote" );
  11. $entreok = mysql_fetch_array($entre);
  12. $moyenne = $sommenoteok['somme_de_toutes_les_notes'] / $entreok['nombres_entre'];
  13. echo 'Note moyenne attribué au site:' . $moyenne . '/20';
  14. mysql_close();
  15. }
  16. ?>
  17. </body>
  18. </html>


 
Message:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in e:\documents de jérome\testbdd\livreor.php on line 43
 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in e:\documents de jérome\testbdd\livreor.php on line 45
 
Warning: Division by zero in e:\documents de jérome\testbdd\livreor.php on line 46

 
Ligne 43: $sommenoteok = mysql_fetch_array($sommenote);
Ligne 45: $entreok = mysql_fetch_array($entre);
Ligne 46: $moyenne = $sommenoteok['somme_de_toutes_les_notes'] / $entreok['nombres_entre'];
 
Quelqu'un pour m'aider svp? :(


Message édité par univscien1 le 07-01-2007 à 12:40:04
n°1499916
FlorentG
Unité de Masse
Posté le 07-01-2007 à 12:36:57  profilanswer
 

Nan mais faut juste lire mon post, t'as oublié de mettre un mysql_query avant ton fetch_array.... T'as mis ça :

Code :
  1. $entre = ("SELECT COUNT(*) AS nombres_entre FROM vote" );


 
D'après toi, il manque pas quelque chose ? :

Code :
  1. $entre = mysql_query ("SELECT COUNT(*) AS nombres_entre FROM vote" );


Si tu fais pas de mysql_query, forcément ton objet $entre ne sera pas un objet de type mysql resource, ça sera juste la chaîne de caractère correspondant à la requête...

n°1499917
FlorentG
Unité de Masse
Posté le 07-01-2007 à 12:37:21  profilanswer
 

Fait doucement, prend ton temps, relis bien ton code, assure-toi d'avoir tout mis

n°1499931
univscien1
Posté le 07-01-2007 à 12:52:48  profilanswer
 

C'est bon çà marche.xD
Merci  :)


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

  Formulaire (SQL)

 

Sujets relatifs
[Access] SQL direct et formulairePHP/SQL, 2 tables récupérations dans un formulaire
requête SQL dans un formulairerequête SQL dans un formulaire
Formulaire à choix multiple (PHP/SQL)mise à jour automatique d'un formulaire avec requete SQL
[URGENT Erreur SQL] Moteur de recherche PHP/SQL via formulaire HTMLFormulaire html et SQL vers Excel
[XML/PHP/SQL] Formulaire dynamique + base de données: quel logicieldebutant formulaire access et SQL
Plus de sujets relatifs à : Formulaire (SQL)


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