Comment avoir un WHERE avec plusieurs condition
Bonjour à tous,
Je suis un peu frustrl car j'avais déjà fait ca, mais je n'arrive pas à retoruver ce vieux code grrrr.
J'ai ce code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
$sql_select = 'SELECT * FROM fields AS fi
LEFT JOIN stations AS st ON fi.id_field = st.fields_id_field
LEFT JOIN sensors AS se ON st.id_station = se.stations_id_station
LEFT JOIN sensor_types AS stype ON se.sensor_types_id_sensor_type = stype.id_sensor_type
LEFT JOIN measures AS m ON se.id_sensor = m.sensors_id_sensor
LEFT JOIN collections AS c ON m.collections_id_collection = c.id_collection
WHERE st.id_station = '.$station.' AND c.collection_date >= "'.$from.'" AND c.collection_date <= "'.$to.'"
ORDER BY c.id_collection, c.collection_date ASC ';
$sql_result = $connect->query($sql_select); |
et je vais devoir ajouter ceci, au debut du fichier
Code:
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
|
if(isset($_POST['wl'])){
$wl = $_POST['wl'];
}else{
$wl = "";
}
if(isset($_POST['wln'])){
$wln = $_POST['wln'];
}else{
$wln = "";
}
if(isset($_POST['hws'])){
$hws = $_POST['hws'];
}else{
$hfs = "";
}
if(isset($_POST['hwb'])){
$hwb = $_POST['hwb'];
}else{
$hfb = "";
}
if(isset($_POST['ta'])){
$ta = $_POST['ta'];
}else{
$ta = "";
}
if(isset($_POST['ts'])){
$ts = $_POST['ts'];
}else{
$ts = "";
}
if(isset($_POST['t30'])){
$t30 = $_POST['t30'];
}else{
$t30 = "";
}
if(isset($_POST['t60'])){
$t60 = $_POST['t60'];
}else{
$t60 = "";
}
if(isset($_POST['t100'])){
$t100 = $_POST['t100'];
}else{
$t100 = "";
}
if(isset($_POST['t200'])){
$t200 = $_POST['t200'];
}else{
$t200 = "";
}
if(isset($_POST['t500'])){
$t500 = $_POST['t500'];
}else{
$t500 = "";
}
if(isset($_POST['t1200'])){
$t1200 = $_POST['t1200'];
}else{
$t1200 = "";
} |
Donc ensuite, je vais devoir ajouter un nouveau critere de recherche et je vais devoir ajouté ceci
Code:
AND stype.sensor_type_name = $wl
mais pour chaqu'un (je ne l'ai liste pas tous.
Code:
1 2 3 4 5 6
|
WHERE st.id_station = '.$station.' AND c.collection_date >= "'.$from.'" AND c.collection_date <= "'.$to.'"
AND (stype.sensor_type_name = $wl
OR stype.sensor_type_name = $wln
OR stype.sensor_type_name = $hfs
OR stype.sensor_type_name = $hfb) |
Il y a pas une solution plus simple?
Bien entendu, si $_POST['wl'] n'existe pas, $wl prend la valeur NULL car il ne doit pas extraire une valeru correspondant $ wl.
Pourriez-vous me mettre sur la piste pour extraire les donnnées correspondant au $POST existant et qui ont une valeur?
Milles mercis pour vos lumières!!