Bonsoir,
je continu a faire evoluer mon code et après une requete entre deux dates,
je cherche maintenant a faire une requete multi-critère, mais forcément ca marche pas.
je vous donne mon code, je ne demande pas la solution mais si vous pourriez m dire si je me plante complétement ou si je suis en bonne voie et puis biensur vous pouvez apporter vos correction lol
merci
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 <?php // Variable pour date result htmlspecialchars(stripcslashes($debut1 = $_POST['fielddate_1b'])); htmlspecialchars(stripcslashes($fin1 = $_POST['fielddate_1c'])); include("./config.inc.php"); mysql_connect($db_host,$db_user,$db_pass) or die ('connexion impossible'); mysql_select_db($db_name) or die ('connexion impossible'); // Variable pour requete mysql $debut = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST['fielddate_1b']))); $fin = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST['fielddate_1c']))); $field_search_1 = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST['field_search_1']))); $field_search_2 = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST['field_search_2']))); $field_search_3 = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST['field_search_3']))); // intialisation date fr -> us $date = "$debut"; // formatage list($jour, $mois, $annee) = explode("/", $date); // affichage $debut = $annee . '-' . $mois . '-' . $jour ; // intialisation date fr -> us $date = "$fin"; // formatage list($jour, $mois, $annee) = explode("/", $date); // affichage $fin = $annee . '-' . $mois . '-' . $jour ; $fields = array('field_search_1', 'field_search_2', 'field_search_3') ; // Champs <form>/BdD $requete = "SELECT * FROM regie WHERE 1 = 1 BETWEEN '$debut' AND '$fin' ORDER BY field_1 ASC" ; foreach ( $fields AS $field ) { IF ( isset($_GET[$field]) && $_GET[$field] !== '' ) { // IGNORE les champs vides $requete .= " AND $field = '{$_GET[$field]}'" ; } } echo $requete ; mysql_query("SET NAMES 'utf8'"); // $requete = mysql_query("SELECT * FROM regie WHERE field_1 BETWEEN '$debut' AND '$fin' ORDER BY field_1 ASC") or die (mysql_error()); echo "<h2>Résultat</h2><br />"; echo "<center><h3>Voici les résultats pour la période du : $debut1 au $fin1</h3></center>"; echo "<br /><br />"; echo "<table cellpadding='0' cellspacing='0'>"; echo "<tr class='tdexport'><td>Par</td><td>Versé le</td><td>Dans l'espace</td><td>Nature du versement</td><td>Civilité</td><td>Prénom</td><td>Nom</td><td>Montant</td><td>En</td><td>Commentaires</td></tr>"; while($data = mysql_fetch_array($requete)) { echo '<tr><td>'.$data['field_0'].'</td><td style="text-align:center;">'.date("d/m/Y", strtotime($data['field_1'])).'</td><td>'.$data['field_2'].'</td><td>'.$data['field_3'].'</td><td>'.$data['field_4'].'</td><td>'.$data['field_5'].'</td><td>'.$data['field_6'].'</td><td style="text-align:right;">'.$data['field_7'].'</td><td style="text-align:center;">'.$data['field_8'].'</td><td>'.$data['field_9'].'</td></tr>'; } echo "</table><br />"; echo "<center><a href='index.php?page=3'>Retour à la recherche</a></center>"; ?>
Partager