Bonjour,
J'essaie de faire une recherche multicritère, mais ca ne fonctionne pas.
le resultat est toujours le meme, il me retourne le else de mon code aucun resultat, que se sois entre une période seulement ou avec d'autre critère
Voici le code de la page avec les requetes sql.
un peu d'aide serrai la bien venu
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
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 <?php $_SESSION['field_search_1'] = htmlspecialchars(stripcslashes($_POST['field_search_1'])); $_SESSION['field_search_2'] = htmlspecialchars(stripcslashes($_POST['field_search_2'])); $_SESSION['field_search_3'] = htmlspecialchars(stripcslashes($_POST['field_search_3'])); // Variable pour date result $debut1 = htmlspecialchars(stripcslashes($_POST['fielddate_1b'])); $fin1 = htmlspecialchars(stripcslashes($_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(stripcslashes($_POST['fielddate_1b'])); $fin = mysql_real_escape_string(stripcslashes($_POST['fielddate_1c'])); // intialisation date fr -> us $date = "$debut"; // formatage list($jour, $mois, $annee) = explode("/", $date); // affichage $debuta = $annee . '-' . $mois . '-' . $jour ; // intialisation date fr -> us $date = "$fin"; // formatage list($jour, $mois, $annee) = explode("/", $date); // affichage $fina = $annee . '-' . $mois . '-' . $jour ; mysql_query("SET NAMES 'utf8'"); if($_POST['submit']=="Envoyer") { $sql1= "SELECT * FROM regie WHERE field_1 BETWEEN '$debuta' AND '$fina' ORDER BY field_1 ASC"; // Si tout vide + date Obligatoire $sql2= "SELECT * FROM regie WHERE (field_2 = '".$_POST['field_search_1']."' and field_1 BETWEEN '$debuta' AND '$fina')ORDER BY field_1 ASC"; // Si field_search_1 + date Obligatoire $sql3= "SELECT * FROM regie WHERE (field_3 = '".$_POST['field_search_2']."' and field_1 BETWEEN '$debuta' AND '$fina')ORDER BY field_1 ASC"; // Si field_search_2 + date Obligatoire $sql4= "SELECT * FROM regie WHERE (field_8 = '".$_POST['field_search_3']."' and field_1 BETWEEN '$debuta' AND '$fina')ORDER BY field_1 ASC"; // Si field_search_3 + date Obligatoire $sql5= "SELECT * FROM regie WHERE (field_2 = '".$_POST['field_search_1']."' and field_3 = '".$_POST['field_search_2']."' and field_1 BETWEEN '$debuta' AND '$fina')ORDER BY field_1 ASC"; // Si field_search_1 + field_search_2 + date Obligatoire $sql6= "SELECT * FROM regie WHERE (field_2 = '".$_POST['field_search_1']."' and field_8 = '".$_POST['field_search_3']."' and field_1 BETWEEN '$debuta' AND '$fina')ORDER BY field_1 ASC"; // Si field_search_1 + field_search_3 + date Obligatoire $sql7= "SELECT * FROM regie WHERE (field_3 = '".$_POST['field_search_2']."' and field_8 = '".$_POST['field_search_3']."' and field_1 BETWEEN '$debuta' AND '$fina')ORDER BY field_1 ASC"; // Si field_search_2 + field_search_3 + date Obligatoire $sql8= "SELECT * FROM regie WHERE (field_2 = '".$_POST['field_search_1']."' and field_3 = '".$_POST['field_search_2']."' and field_8 = '".$_POST['field_search_3']."' and field_1 BETWEEN '$debuta' AND '$fina')ORDER BY field_1 ASC"; // Si tout + date Obligatoire // Ici on va récupérer la requete selon le cas if (isset($_POST['field_search_1']) && empty($_POST['field_search_2']) && empty($_POST['field_search_3'])) // Si field_search_1 + date Obligatoire { $sql = mysql_query($sql2) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); } elseif (empty($_POST['field_search_1']) && isset($_POST['field_search_2']) && empty($_POST['field_search_3'])) /// Si field_search_2 + date Obligatoire { $sql = mysql_query($sql3) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); } elseif (empty($_POST['field_search_1']) && empty($_POST['field_search_2']) && isset($_POST['field_search_3'])) // Si field_search_3 + date Obligatoire { $sql = mysql_query($sql4) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); } elseif (isset($_POST['field_search_1']) && isset($_POST['field_search_2']) && empty($_POST['field_search_3'])) // Si field_search_1 + field_search_2 + date Obligatoire { $sql = mysql_query($sql5) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); } elseif (isset($_POST['field_search_1']) && empty($_POST['field_search_2']) && isset($_POST['field_search_3'])) // Si field_search_1 + field_search_3 + date Obligatoire { $sql = mysql_query($sql6) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); } elseif (empty($_POST['field_search_1']) && isset($_POST['field_search_2']) && isset($_POST['field_search_3'])) // Si field_search_2 + field_search_3 + date Obligatoire { $sql = mysql_query($sql7) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); } elseif (isset($_POST['field_search_1']) && isset($_POST['field_search_2']) && isset($_POST['field_search_3'])) // Si field_search_2 + field_search_3 + date Obligatoire { $sql = mysql_query($sql8) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); } else { $sql = mysql_query($sql1) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); // Si tout vide + date Obligatoire } // Traitement $res = mysql_num_rows($sql); if ($res >1){ 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($sql)) { 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>"; }else{ echo "<h2>Résultat</h2><br />"; echo "<center><h3>Il n'y a aucun résultats pour la période du : $debut1 au $fin1</h3></center>"; echo "<br /><br />"; echo "<center><a href='index.php?page=3'>Retour à la recherche</a></center>"; } } ?>
Partager