/** * Fonction qui permet de créer un filtre de résultat par rapport à une valeur */ function creer_filtre($filtre, $valeur_filtre, $id_vue, $ligne_repere, $table) { global $dbh, $tab_val, $liste_tabfiltre; $table_filtre = ""; foreach ($tab_val as $key => $val) { if ($filtre == $val['filtre']) { if ($valeur_filtre == $val['valeur_filtre']) { $table_filtre = $val['table_filtre']; pmb_mysql_query("DROP TABLE " . $table); break; } else { pmb_mysql_query("DROP TABLE " . $val['table_filtre']); $ind = array_search($val['table_filtre'], $liste_tabfiltre); if ($ind != false) { unset($liste_tabfiltre[$ind]); } unset($tab_val[$key]); } } } if (!$table_filtre) { $liste_tabfiltre[] = $table; $rqt = "SELECT * from logs_filtre_{$id_vue}"; $res = pmb_mysql_query($rqt, $dbh); while ($ligne_log = pmb_mysql_fetch_object($res)) { $format = new parse_format('consolidation.inc.php'); $format->environnement['tempo'] = "logs_filtre_{$id_vue}"; $format->environnement['num_ligne'] = $ligne_log->id_log; $format->cmd = $filtre; $val_filtre_courant = $format->exec_cmd_conso(); if ($val_filtre_courant == $valeur_filtre) { $rqt = "insert ignore into " . $table . " select * from logs_filtre_{$id_vue} where id_log='" . addslashes($ligne_log->id_log) . "'"; pmb_mysql_query($rqt, $dbh); } } } if (!$valeur_filtre) { $valeur_filtre = "no_value"; } if (!$table_filtre) { $tab_val[] = array('valeur_filtre' => $valeur_filtre, 'filtre' => $filtre, 'table_filtre' => $table); } return $table_filtre ? $table_filtre : $table; }