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 :

recherche avec critere


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 4
    Par défaut recherche avec critere
    bonjous a tous,
    svp, j'ai besoin d'une aide pour que mon code reponde a mes exigences.
    je suis entrain de faire un code qui dans un formulaire contenant une liste deroulante qui selectionne tous les produits ou bien chaque produit contenu dans ma table pesee et l'affiche dans un tableau en fonction des date1 et date2 qui sont saisirent comme critere.
    mon code se presente comme suit:
    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
     
    <?php
    	 if(isset($_POST['CODEPROD'])){
        $CODEPROD=$_POST['CODEPROD'];
    }
     
    //valeur par défaut à l'arrivée
     
    else{
        $CODEPROD="choisir";
    }
     
    /*voir suite dans les ajouts PHP dans le select
    affiche l'option selected le cas échéant*/
    ?>
     
     
          <FORM  METHOD="post" ACTION="impprod.php">
    			<fieldset>
                <table>
                <tr>
                <td height="10">&nbsp;</td><td>&nbsp;</td><td>
             <SELECT name="CODEPROD">
            <option value="choisir" selected="selected"> ----- Choisir ----- </option>
            <option value="produit"<?php if($CODEPROD =='produit') { echo 'selected'; } ?>>Tous les produits</option>
     
    		             <?php
     
                  //On se connecte
                   $dbb=mysql_connect($hostname_dbb, $username_dbb, $password_dbb) or die('Erreur de connexion ' . mysql_error());	
     
    		// on sélectionne la base 
    	mysql_select_db($database_dbb) or die('Erreur de selection ' . mysql_error());
     
                     //On prépare la requête SQL qui récupère les champs
                        $sql = "SELECT DISTINCT CODEPROD FROM pesee ORDER BY CODEPROD";	
     
                      /* On lance la requête (mysql_query)
                     et on impose un message d'erreur si la requête ne passe pas (or die) */
                     $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
                        //On scanne le résultat et on construit chaque option avec
                    while($data = mysql_fetch_array($req)){
     
                                         // on affiche chaque champ
                        echo '<option name="'.$data['CODEPROD'].'">'.$data['CODEPROD'].'</option>';
                          }
                                         //On libère mysql de cette première requête
                      mysql_free_result ($req);
                                       //On ferme le select
                     ?>
    	</SELECT>
        </td><td height="10">&nbsp;</td><td>&nbsp;</td></tr>
                <tr height="15"></tr>
                <tr>
                <td align="right" height="10">p&eacute;riode du:</td>
                <td><input type="text" name="DATEP1" /></td>
                <td align="right" height="10">Heure:</td>
                <td><input type="text" name="HEUREP" /></td></tr>
                <tr>
                <td align="right" height="10">Au:</td>
                <td><input type="text" name="DATEP2" /></td>
                <td align="right" height="10">Heure:</td>
                <td><input type="text" name="HEUREP" /></td></tr>
                <tr height="10"></tr>
                <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td align="left"><input type="submit" value="Impression" name="OK"></td>
                <td><input type="reset" value="Annuler" /></td>
                </tr>   
                </table>
              </fieldset>
                </FORM>
                <!--
    On ferme le formulaire
    -->
    <?php
    //On traite le formulaire
    if(isset($_POST['OK'])){
    $CODEPROD=$_POST['CODEPROD'];
    $DATEP1=$_POST['DATEP1'];
    $DATEP2=$_POST['DATEP2'];
     
    // On prépare la requête
    //requête différente selon qu'on veut tout le champ
    //ou un champ avec une condition
     
    $sql = "SELECT * FROM pesee WHERE DATEP BETWEEN '$DATEP1' AND '$DATEP2' ORDER BY CODEPROD ASC, DATEP ASC";
     
    /* On lance la requête (mysql_query)
    et on impose un message d'erreur si la requête ne passe pas (or die)*/
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $data=mysql_num_rows($req);
    // si on a récupéré un résultat on l'affiche.
                    if($data) {
                      // début du tableau
    				 echo'<p><u>Liste des produits</u></p>';
                     echo '<center><table bgcolor="#FFFFFF" width="590" align="center">'."\n";
                     // première ligne on affiche les titres prénom et surnom dans 2 colonnes
                     echo '<tr>';
                     echo '<td bgcolor="#669999" style="text-align:center"><b><u>N°Camion</u></b></td>';
                     echo '<td bgcolor="#669999" style="text-align:center"><b><u>CONNAISSEMENT</u></b></td>';
    				 echo '<td bgcolor="#669999" style="text-align:center"><b><u>PRODUIT</u></b></td>';
    				 echo '<td bgcolor="#669999" style="text-align:center"><b><u>CLIENT</u></b></td>';
    				 echo '<td bgcolor="#669999" style="text-align:center"><b><u>TRANSPORTEUR</u></b></td>';
    				 echo '<td bgcolor="#669999" style="text-align:center"><b><u>DESTINATION/ORIGINAL</u></b></td>';
    				 echo '<td bgcolor="#669999" style="text-align:center"><b><u>Poids net</u></b></td>';
                     echo '</tr>'."\n";
                  //On scanne chaque résultat et affiche
                    while($row = mysql_fetch_array($req)){
    	             echo '<tr>';
                     echo '<td bgcolor="#CCCCCC">'.$row['NUMCON'].'</td>';
                     echo '<td bgcolor="#CCCCCC">'.$row['NUMLOT'].'</td>';
    				 echo '<td bgcolor="#CCCCCC">'.$row['CODEPROD'].'</td>';
    				 echo '<td bgcolor="#CCCCCC">'.$row['CODECLI'].'</td>';
    				 echo '<td bgcolor="#CCCCCC">'.$row['TRANSPORT'].'</td>';
    				 echo '<td bgcolor="#CCCCCC">'.$row['DESTI'].'</td>';
    				 echo '<td bgcolor="#CCCCCC">'.$row['POIDNET'].'</td>';
                     echo '</tr>'."\n";
    				 }
                     echo '</table></center>'."\n";
     
     
                    // on libère le résultat
                      mysql_free_result($req);     
                   }
    				elseif($CODEPROD=='produit')
    				{
                    $sql="SELECT * FROM pesee WHERE DATEP BETWEEN '$DATEP1' AND '$DATEP2' ORDER BY CODEPROD ASC, DATEP ASC"; 
                    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    				$data=mysql_num_rows($req);
    				// si on a récupéré un résultat on l'affiche.
                    if($data) {
                      // début du tableau
    				 echo'<p><u>Liste des produits</u></p>';
                     echo '<center><table bgcolor="#FFFFFF" width="590" align="center">'."\n";
                     // première ligne on affiche les titres prénom et surnom dans 2 colonnes
                     echo '<tr>';
                     echo '<td bgcolor="#669999" style="text-align:center"><b><u>Code</u></b></td>';
                     echo '<td bgcolor="#669999" style="text-align:center"><b><u>Libellé</u></b></td>';
    				 echo '<td bgcolor="#669999" style="text-align:center"><b><u>Observation</u></b></td>';
                     echo '</tr>'."\n";
    				 // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
                     while($row = mysql_fetch_array($req)) { 
    				 echo '<tr>';
                     echo '<td bgcolor="#CCCCCC">'.$row['CODEPROD'].'</td>';
                     echo '<td bgcolor="#CCCCCC">'.$row['CODECLI'].'</td>';
    				 echo '<td bgcolor="#CCCCCC">'.$row['POIDNET'].'</td>';
                     echo '</tr>'."\n";
                      }
                     echo '</table></center>'."\n";
                     // fin du tableau.
    				}
                    else 
    				echo '<p><u>Liste des produits</u></p>Pas d\'enregistrements dans cette table...';
     
                    // on libère le résultat
                      mysql_free_result($req);     
    				}
     
    }
    //On ferme sql
    mysql_close ();
     
    ?>
    je suis un peu perdu dans mes conditions et requete pourriez vous inspectez mon code? aussi je voudrai pouvoir afficher par produit et aussi tous les produit en fonction des intervalles de datep c'ad datep1 et datep2.
    merci de me venir en aide

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //On scanne le résultat et on construit chaque option avec
    while($data = mysql_fetch_array($req)){
        // on affiche chaque champ
        echo '<option name="'.$data['CODEPROD'].'">'.$data['CODEPROD'].'</option>';
    }
    Les balises option n'ont pas d'attribut name, mais un attribut value.

    Pour le reste, techniquement ça a l'air correct, bien que pas forcément hyper optimisé et tout à fait normé. Par exemple : la pagination en table html n'est pas recommandée (même si ça fonctionne), il vaut mieux faire ça en css.

    J'ai juste réindenté le code pour le rendre plus lisible :
    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    <?php
    if(isset($_POST['CODEPROD'])){
        $CODEPROD=$_POST['CODEPROD'];
    }
    //valeur par défaut à l'arrivée
    else {
        $CODEPROD="choisir";
    }
     
    /*voir suite dans les ajouts PHP dans le select
    affiche l'option selected le cas échéant*/
    ?>
     
     
    <FORM  METHOD="post" ACTION="impprod.php">
        <fieldset>
            <table>
                <tr>
                    <td height="10">&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>
                        <SELECT name="CODEPROD">
                            <option value="choisir" selected="selected"> ----- Choisir ----- </option>
                            <option value="produit" <?php if($CODEPROD =='produit') { echo 'selected'; } ?>>Tous les produits</option>
     
                            <?php
                            //On se connecte
                            $dbb=mysql_connect($hostname_dbb, $username_dbb, $password_dbb) or die('Erreur de connexion ' . mysql_error());    
     
                            // on sélectionne la base 
                            mysql_select_db($database_dbb) or die('Erreur de selection ' . mysql_error());
     
                            //On prépare la requête SQL qui récupère les champs
                            $sql = "SELECT DISTINCT CODEPROD FROM pesee ORDER BY CODEPROD";    
     
                            /* On lance la requête (mysql_query)
                            et on impose un message d'erreur si la requête ne passe pas (or die) */
                            $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
                            //On scanne le résultat et on construit chaque option avec
                            while($data = mysql_fetch_array($req)){
                                // on affiche chaque champ
                                echo '<option name="'.$data['CODEPROD'].'">'.$data['CODEPROD'].'</option>';
                            }
                             //On libère mysql de cette première requête
                            mysql_free_result ($req);
                            //On ferme le select
                            ?>
                        </SELECT>
                    </td>
                    <td height="10">&nbsp;</td><td>&nbsp;</td>
                </tr>
                <tr height="15"></tr>
                <tr>
                    <td align="right" height="10">p&eacute;riode du:</td>
                    <td><input type="text" name="DATEP1" /></td>
                    <td align="right" height="10">Heure:</td>
                    <td><input type="text" name="HEUREP" /></td>
                </tr>
                <tr>
                    <td align="right" height="10">Au:</td>
                    <td><input type="text" name="DATEP2" /></td>
                    <td align="right" height="10">Heure:</td>
                    <td><input type="text" name="HEUREP" /></td>
                </tr>
                <tr height="10"></tr>
                <tr>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td align="left"><input type="submit" value="Impression" name="OK"></td>
                    <td><input type="reset" value="Annuler" /></td>
                </tr>   
            </table>
        </fieldset>
    </FORM>
    <!--
    On ferme le formulaire
    -->
    <?php
    //On traite le formulaire
    if(isset($_POST['OK'])){
        $CODEPROD=$_POST['CODEPROD'];
        $DATEP1=$_POST['DATEP1'];
        $DATEP2=$_POST['DATEP2'];
     
        // On prépare la requête
        //requête différente selon qu'on veut tout le champ
        //ou un champ avec une condition
     
        $sql = "SELECT * FROM pesee WHERE DATEP BETWEEN '$DATEP1' AND '$DATEP2' ORDER BY CODEPROD ASC, DATEP ASC";
     
        /* On lance la requête (mysql_query)
        et on impose un message d'erreur si la requête ne passe pas (or die)*/
        $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
        $data=mysql_num_rows($req);
        // si on a récupéré un résultat on l'affiche.
        if($data) {
            // début du tableau
            echo'<p><u>Liste des produits</u></p>';
            echo '<center><table bgcolor="#FFFFFF" width="590" align="center">'."\n";
            // première ligne on affiche les titres prénom et surnom dans 2 colonnes
            echo '<tr>';
            echo '<td bgcolor="#669999" style="text-align:center"><b><u>N°Camion</u></b></td>';
            echo '<td bgcolor="#669999" style="text-align:center"><b><u>CONNAISSEMENT</u></b></td>';
            echo '<td bgcolor="#669999" style="text-align:center"><b><u>PRODUIT</u></b></td>';
            echo '<td bgcolor="#669999" style="text-align:center"><b><u>CLIENT</u></b></td>';
            echo '<td bgcolor="#669999" style="text-align:center"><b><u>TRANSPORTEUR</u></b></td>';
            echo '<td bgcolor="#669999" style="text-align:center"><b><u>DESTINATION/ORIGINAL</u></b></td>';
            echo '<td bgcolor="#669999" style="text-align:center"><b><u>Poids net</u></b></td>';
            echo '</tr>'."\n";
            //On scanne chaque résultat et affiche
            while($row = mysql_fetch_array($req)){
                echo '<tr>';
                echo '<td bgcolor="#CCCCCC">'.$row['NUMCON'].'</td>';
                echo '<td bgcolor="#CCCCCC">'.$row['NUMLOT'].'</td>';
                echo '<td bgcolor="#CCCCCC">'.$row['CODEPROD'].'</td>';
                echo '<td bgcolor="#CCCCCC">'.$row['CODECLI'].'</td>';
                echo '<td bgcolor="#CCCCCC">'.$row['TRANSPORT'].'</td>';
                echo '<td bgcolor="#CCCCCC">'.$row['DESTI'].'</td>';
                echo '<td bgcolor="#CCCCCC">'.$row['POIDNET'].'</td>';
                echo '</tr>'."\n";
            }
            echo '</table></center>'."\n";
            // on libère le résultat
            mysql_free_result($req);     
        }
        elseif($CODEPROD=='produit')
        {
            $sql="SELECT * FROM pesee WHERE DATEP BETWEEN '$DATEP1' AND '$DATEP2' ORDER BY CODEPROD ASC, DATEP ASC"; 
            $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
            $data=mysql_num_rows($req);
            // si on a récupéré un résultat on l'affiche.
            if($data) {
                // début du tableau
                echo'<p><u>Liste des produits</u></p>';
                echo '<center><table bgcolor="#FFFFFF" width="590" align="center">'."\n";
                // première ligne on affiche les titres prénom et surnom dans 2 colonnes
                echo '<tr>';
                echo '<td bgcolor="#669999" style="text-align:center"><b><u>Code</u></b></td>';
                echo '<td bgcolor="#669999" style="text-align:center"><b><u>Libellé</u></b></td>';
                echo '<td bgcolor="#669999" style="text-align:center"><b><u>Observation</u></b></td>';
                echo '</tr>'."\n";
                // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
                while($row = mysql_fetch_array($req)) { 
                    echo '<tr>';
                    echo '<td bgcolor="#CCCCCC">'.$row['CODEPROD'].'</td>';
                    echo '<td bgcolor="#CCCCCC">'.$row['CODECLI'].'</td>';
                    echo '<td bgcolor="#CCCCCC">'.$row['POIDNET'].'</td>';
                    echo '</tr>'."\n";
                }
                echo '</table></center>'."\n";
                // fin du tableau.
            }
            else 
                echo '<p><u>Liste des produits</u></p>Pas d\'enregistrements dans cette table...';
     
            // on libère le résultat
            mysql_free_result($req);     
        }
     
    }
    //On ferme sql
    mysql_close ();
     
    ?>
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 4
    Par défaut RECHERCHER PAR CRITERE
    bonjour a tous ,
    j'ai modifié mon code en mettant une condition après le traitement du formulaire afin qu'il prenne en compte chaque produit de la table listé dans la liste déroulante.Aussi j'ai modifié mes requêtes d'affichage .
    Également, j'ai mis une alerte JavaScript au car ou l’utilisateur ne sélectionnerai pas les éléments de ma listes déroulante mais plutôt le champs par défaut qui est représenté par choisir dans mon code.
    le problème c'est qu'il n'affiche rien, même pas une erreur mais quand je clique sur la parti validation du formulaire, il m'envoi automatiquement le message javascript et rien d'autres

    merci d'analyser encore mon code et de me venir en aide.
    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
     
    <?php
    	 if(isset($_POST['CODEPROD'])){
        $CODEPROD=$_POST['CODEPROD'];
    }
     
    //valeur par défaut à l'arrivée
     
    else{
        $CODEPROD="choisir";
    }
     
    /*voir suite dans les ajouts PHP dans le select
    affiche l'option selected le cas échéant*/
    ?>
     
     
          <FORM  METHOD="post" ACTION="impprod.php">
    			<fieldset>
                <table>
                <tr>
                <td height="10">&nbsp;</td><td>&nbsp;</td><td>
             <SELECT name="CODEPROD">
            <option value="choisir" selected="selected"> ----- Choisir ----- </option>
            <option value="Tous les produit"<?php if($CODEPROD =='produit') { echo 'selected'; } ?>>Tous les produits</option>
     
    		             <?php
     
                  //On se connecte
                   $dbb=mysql_connect($hostname_dbb, $username_dbb, $password_dbb) or die('Erreur de connexion ' . mysql_error());	
     
    		// on sélectionne la base 
    	mysql_select_db($database_dbb) or die('Erreur de selection ' . mysql_error());
     
                     //On prépare la requête SQL qui récupère les champs
                        $sql = "SELECT DISTINCT CODEPROD FROM pesee ORDER BY CODEPROD";	
     
                      /* On lance la requête (mysql_query)
                     et on impose un message d'erreur si la requête ne passe pas (or die) */
                     $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
                        //On scanne le résultat et on construit chaque option avec
                    while($data = mysql_fetch_array($req)){
     
                                         // on affiche chaque champ
                        echo '<option name="'.$data['CODEPROD'].'">'.$data['CODEPROD'].'</option>';
                          }
                                         //On libère mysql de cette première requête
                      mysql_free_result ($req);
                                       //On ferme le select
                     ?>
    	</SELECT>
        </td><td height="10">&nbsp;</td><td>&nbsp;</td></tr>
                <tr height="15"></tr>
                <tr>
                <td align="right" height="10">p&eacute;riode du:</td>
                <td><input type="text" name="DATEP1" /></td>
                <td>&nbsp;</td>
     
                <td align="right" height="10">Au:</td>
                <td><input type="text" name="DATEP2" /></td>
                </tr>
                <tr height="10"></tr>
                <tr>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td align="left"><input type="submit" value="Impression" name="OK"></td>
                <td><input type="reset" value="Annuler" /></td>
                </tr>   
                </table>
              </fieldset>
                </FORM>
                <!--
    On ferme le formulaire
    -->
    <?php
    //On traite le formulaire
    if(isset($_POST['OK'])){
    $CODEPROD=$_POST['CODEPROD'];
    $DATEP1=$_POST['DATEP1'];
    $DATEP2=$_POST['DATEP2'];
     
        if($CODEPROD=='CODEPROD')
         {
     
    // On prépare la requête
    //requête différente selon qu'on veut tout le champ
    //ou un champ avec une condition
     
    $sql = 'SELECT CODEPROD, NUMLOT, NUMCON,CODECLI, TRANSPORT, DESTI, POIDNET, DATEP FROM pesee WHERE DATEP BETWEEN "'.$DATEP1.'" AND "'.$DATEP2.'"';
     
    /* On lance la requête (mysql_query)
    et on impose un message d'erreur si la requête ne passe pas (or die)*/
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    $data=mysql_num_rows($req);
    // si on a récupéré un résultat on l'affiche.
                    if($data){
                      // début du tableau
    				 echo'<p><u>'.$CODEPROD.'</u></p>';
                     echo '<center><table bgcolor="#FFFFFF" width="590" align="center">'."\n";
                     // première ligne on affiche les titres prénom et surnom dans 2 colonnes
                     echo '<tr>';
                     echo '<td bgcolor="#669999" style="text-align:center"><b><u>N°Camion</u></b></td>';
                     echo '<td bgcolor="#669999" style="text-align:center"><b><u>CONNAISSEMENT</u></b></td>';
    				 echo '<td bgcolor="#669999" style="text-align:center"><b><u>PRODUIT</u></b></td>';
    				 echo '<td bgcolor="#669999" style="text-align:center"><b><u>CLIENT</u></b></td>';
    				 echo '<td bgcolor="#669999" style="text-align:center"><b><u>TRANSPORTEUR</u></b></td>';
    				 echo '<td bgcolor="#669999" style="text-align:center"><b><u>DESTINATION/ORIGINAL</u></b></td>';
     
    				 echo '<td bgcolor="#669999" style="text-align:center"><b><u>Poids net</u></b></td>';
    				 echo '<td bgcolor="#669999" style="text-align:center"><b><u>Date de pesée</u></b></td>';
                     echo '</tr>'."\n";
                  //On scanne chaque résultat et affiche
                    while($row = mysql_fetch_array($req)){
    	             echo '<tr>';
                     echo '<td bgcolor="#CCCCCC">'.$row['NUMCON'].'</td>';
                     echo '<td bgcolor="#CCCCCC">'.$row['NUMLOT'].'</td>';
    				 echo '<td bgcolor="#CCCCCC">'.$row['CODEPROD'].'</td>';
    				 echo '<td bgcolor="#CCCCCC">'.$row['CODECLI'].'</td>';
    				 echo '<td bgcolor="#CCCCCC">'.$row['TRANSPORT'].'</td>';
    				 echo '<td bgcolor="#CCCCCC">'.$row['DESTI'].'</td>';
    				 echo '<td bgcolor="#CCCCCC">'.$row['POIDNET'].'</td>';
    				 echo '<td bgcolor="#CCCCCC">'.$row['DATEP'].'</td>';
                     echo '</tr>'."\n";
    				 }
                     echo '</table></center>'."\n";
                    }
                    else
    				echo '<p><u>Liste des clients</u></p>Pas d\'enregistrements dans cette table...';
     
                    // on libère le résultat
                      mysql_free_result($req); 
     
                }
    		elseif($CODEPROD=='produit')
    				{
                    $sql='SELECT CODEPROD, NUMLOT, NUMCON,CODECLI, TRANSPORT, DESTI, POIDNET, DATEP FROM pesee WHERE DATEP BETWEEN "'.$DATEP1.'" AND "'.$DATEP2.'"'; 
                    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    				$data=mysql_num_rows($req);
    				// si on a récupéré un résultat on l'affiche.
                    if($data) {
                      // début du tableau
    				 echo'<p><u>Tous les produits</u></p>';
                     echo '<center><table bgcolor="#FFFFFF" width="590" align="center">'."\n";
                     // première ligne on affiche les titres prénom et surnom dans 2 colonnes
                     echo '<tr>';
                     echo '<td bgcolor="#669999" style="text-align:center"><b><u>Code</u></b></td>';
                     echo '<td bgcolor="#669999" style="text-align:center"><b><u>Libellé</u></b></td>';
    				 echo '<td bgcolor="#669999" style="text-align:center"><b><u>Observation</u></b></td>';
    				 echo '<td bgcolor="#669999" style="text-align:center"><b><u>Date de pesée</u></b></td>';
                     echo '</tr>'."\n";
    				 // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
                     while($row = mysql_fetch_array($req)) { 
    				 echo '<tr>';
                     echo '<td bgcolor="#CCCCCC">'.$row['CODEPROD'].'</td>';
                     echo '<td bgcolor="#CCCCCC">'.$row['CODECLI'].'</td>';
    				 echo '<td bgcolor="#CCCCCC">'.$row['POIDNET'].'</td>';
    				 echo '<td bgcolor="#CCCCCC">'.$row['DATEP'].'</td>';
                     echo '</tr>'."\n";
                      }
                     echo '</table></center>'."\n";
                     // fin du tableau.
    				}
                    else 
    				echo '<p><u>Liste des produits</u></p>Pas d\'enregistrements dans cette table...';
     
                    // on libère le résultat
                      mysql_free_result($req);     
    				}
     
                else{
                    echo'<script>alert("Vous n\'avez rien sélectionné.")</script>';
                }
    }
     
     
     
    //On ferme sql
    mysql_close ();
     
    ?>

Discussions similaires

  1. [AC-2007] Probleme avec formulaire recherche multi criteres
    Par reservoirfrog dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 15/11/2012, 16h10
  2. Pagination avec critere de recherche
    Par mactar85 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 08/08/2012, 16h13
  3. [VBA-E]rechercher avec plusieur critère.
    Par morgan47 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/06/2006, 19h48
  4. Réponses: 4
    Dernier message: 29/09/2004, 16h08
  5. Enlever la surbrillance lors d'une recherche avec vi
    Par sekiryou dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 04/03/2004, 13h55

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