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 :

Vérification pour ancienne erreur de code.


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Vérification pour ancienne erreur de code.
    Bonjour à tous!
    Je suis un étudiant dans un lycée et je suis dans la filière SIN.
    J'avais lors de la dernière séance des problèmes sur mon programme PHP, je l'ai alors refait chez moi.
    Il s'agit de faire une sondage avec un tableau (je vous enverrais les consignes si nécessaire).

    Voici ce que j'ai fait:

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <?php
    function connectbase(){
    $base = mysql_connect ('localhost', 'root', '');
    mysql_select_db ('base', $base) ;
    }
    ?>
    <html>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
    <script src="//code.jquery.com/jquery-1.10.2.js"></script>
    <script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
    <link rel="stylesheet" href="/resources/demos/style.css">
     
    <head>
         <title> Admin </title>
    </head>
    <center>
     
    	    <body>
    		<div id=contenu>
    		<table id=tableau>
    		        <tr><td><h2>Sélectionnez une date et une question</h2></td></tr>
    		<form method="post">
    		    <tr><td><select name="champ" size="1">
    			   <option value=1>Question 1
    			   <option value=2>Question 2
    			   <option value=3>Question 3
    			   <option value=4>Question 4
    			   <option value=5>Question 5
    			   <option value=6>Question 6
    			   <option value=7>Question 7
    			   <option value=8>Question 8
    			   <option value=9>Question 9
    			</select></td></tr></form>
    			<tr><td><p>Date: <input type="text" name="date" id="datepicker"></p></td>
     
    <script>
    $(function() {
    				$( "#datepicker" ).datepicker();
      });
    				</script></tr>
     
    			<tr><td><input type="submit" name="valider" value="OK"/></td></tr>
     
    <?php
    	if (isset ($_POST['valider'])){
    	connectbase();
    		$champ=$_POST['champ'];
    		$var=$_POST['date']	;
    		$date= date('Ymd',strtotime($var));
    		$d= date('d-m-Y',strtotime($var));
     
    $sql = 'SELECT SUM(TS) AS TS FROM SONDAGE WHERE question ='.$champ.' and date='.$date.'';
    		$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
    		while ($data = mysql_fetch_array($req)) {
    		echo '<tr><td>Personnestressatisfaites: '.$data['TS'].'</td></tr>';
     
    $sql = 'SELECT SUM(S) AS S FROM SONDAGE WHERE question ='.$champ.' and date='.$date.'';
    		$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
    		while ($data = mysql_fetch_array($req)) {
    		echo '<tr><td>Personnessatisfaites: '.$data['S'].'</td></tr>';
     
    $sql = 'SELECT SUM(I) AS I FROM SONDAGE WHERE question ='.$champ.' and date='.$date.'';
    		$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
    		while ($data = mysql_fetch_array($req)) {
    		echo '<tr><td>Personnesinsatisfaites: '.$data['I'].'</td></tr>';
     
    		?>
    </table></div>
    </center>
    </body>
    </html>
    La plupart du travail était donnée mais le reste était à inventer et à modifier, merci de jeter un oeil à cela afin que je ne me retrouve pas sans aide avec mon professeur comme la dernière fois..

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est dommage d'utiliser l'extension mysql_ qui est obsolète depuis des années.

    Sinon, tu n'as pas besoin de 3 requêtes. Il est par contre essentiel de protéger ton code contre les injections SQL.
    Ta colonne "date" devrait être renommé car "date" est un mot reservé. De plus utilise un type DATE.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if (isset ($_POST['valider'])) {
     
    connectbase();
     
    $sql = 'SELECT SUM(TS) AS TS, SUM(S) AS S, SUM(I) AS I FROM SONDAGE WHERE question ='. intval($_POST['champ']) .' AND `date` = "'.mysql_real_escape_string($_POST['date']).'"';
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
    $data = mysql_fetch_assoc($req);
     
    ?>
    <tr><td>Personnes très satisfaites :<?php echo $data['TS']; ?></td></tr>
    <tr><td>Personnes satisfaites :<?php echo $data['S']; ?></td></tr>
    <tr><td>Personnes insatisfaites :<?php echo $data['I']; ?></td></tr>
    Les valeurs des attributs HTML doivent être encadrés de " :
    N'utilise pas des noms imprécis comme "champs" ou "S".

    D'ailleurs ta table ne devrait contenir qu'une seule colonne avec la valeur de la réponse a l'enquête et non une colonne par choix de réponse possible.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Mon conseil : change de prof., il est obsolète !

    Le plus grave, c'est que tu vas apprendre de mauvaises techniques...

    • mysql_ : obsolète
    • mise en page avec des <table> : obsolète
    • balise <center> : obsolète
    • ...
    Dernière modification par Invité ; 09/05/2016 à 09h53.

Discussions similaires

  1. Besoin d'un code pour éviter erreur "1004"
    Par lmc38 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/11/2012, 02h02
  2. Réponses: 19
    Dernier message: 28/09/2010, 19h30
  3. plusieurs erreurs de code pour faire 2 totaux après une selection
    Par aprentizorrrr dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/06/2010, 23h29
  4. Erreur du code en J2ME pour les équipements portables
    Par darkangel20074 dans le forum Mobiles
    Réponses: 0
    Dernier message: 18/01/2008, 14h30
  5. [Cookies] Erreur de code pour un site multilangue
    Par MaTTuX_ dans le forum Langage
    Réponses: 2
    Dernier message: 25/08/2007, 23h23

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