
le 19/10/2011 à 17:19
bedidaquin01
bonjour a tous,
je suis a la recherche d'aide pour l'elaboration de mon script me permettant de rechercher et d'afficher a partir d'un formulaire les produits de ma base de donnée en fonction des dates de debut et de fin. voici presenté mon script, mais je pense que la logique et la requete sont maladroitement composé.merci de me venir en aide.
je suis a la recherche d'aide pour l'elaboration de mon script me permettant de rechercher et d'afficher a partir d'un formulaire les produits de ma base de donnée en fonction des dates de debut et de fin. voici presenté mon script, mais je pense que la logique et la requete sont maladroitement composé.merci de me venir en aide.
- <?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"> </td><td> </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"> </td><td> </td></tr>
- <tr height="15"></tr>
- <tr>
- <td align="right" height="10">période du:</td>
- <td><input type="text" name="DATEP1" /></td>
- <td> </td>
- <td align="right" height="10">Au:</td>
- <td><input type="text" name="DATEP2" /></td>
- </tr>
- <tr height="10"></tr>
- <tr>
- <td> </td>
- <td> </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 ();
- ?>