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>";
 
?>