208,33 → 208,35 |
chmod($dossier, 0777); |
} |
$fichier = $dossier.$ref."_".time().'.csv'; |
$champs = $this->formaterColonnes($p['champs'], $ref); |
$requete = 'SELECT "'.implode('","', $champs['titre']).'" UNION (SELECT '.implode(', ',$champs['select']). |
" INTO OUTFILE '".$fichier."' CHARACTER SET utf8 FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\n' ". |
" FROM $ref a left join $ref b on b.num_nom=a.num_nom_retenu"; |
|
if (isset($p['filtre']) && $p['filtre'] != "*") { |
$param_filtres = explode(",",$p["filtre"]); |
$dernier_filtre = array_pop($param_filtres); |
$filtres = array("nnr"=>"a.num_nom = a.num_nom_retenu", "pre" => "a.presence = 'P'"); |
if (!isset($filtres[$dernier_filtre])) { // si il s'agit du filtre famille |
$filtres["fam"] = "a.famille = '".$dernier_filtre."'"; |
$dernier_filtre = "fam"; |
if (isset($p['champs'])) { |
$champs = $this->formaterColonnes($p['champs'], $ref); |
$requete = 'SELECT "'.implode('","', $champs['titre']).'" UNION (SELECT '.implode(', ',$champs['select']). |
" INTO OUTFILE '".$fichier."' CHARACTER SET utf8 FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\n' ". |
" FROM $ref a left join $ref b on b.num_nom=a.num_nom_retenu"; |
|
if (isset($p['filtre']) && $p['filtre'] != "*") { |
$param_filtres = explode(",",$p["filtre"]); |
$dernier_filtre = array_pop($param_filtres); |
$filtres = array("nnr"=>"a.num_nom = a.num_nom_retenu", "pre" => "a.presence = 'P'"); |
if (!isset($filtres[$dernier_filtre])) { // si il s'agit du filtre famille |
$filtres["fam"] = "a.famille = '".$dernier_filtre."'"; |
$dernier_filtre = "fam"; |
} |
array_push($param_filtres, $dernier_filtre); |
$requete .= " WHERE ".implode(" AND ",array_intersect_key($filtres, array_flip($param_filtres))); |
} |
array_push($param_filtres, $dernier_filtre); |
$requete .= " WHERE ".implode(" AND ",array_intersect_key($filtres, array_flip($param_filtres))); |
} |
$requete .= ")"; |
// Récupération des résultats |
try { |
$donnees = $this->bdd->query($requete); |
if ($donnees === false) { |
$this->messages[] = "La requête a retourné aucun résultat : $requete"; |
} else { |
$info = $donnees; |
$requete .= ")"; |
// Récupération des résultats |
try { |
$donnees = $this->bdd->query($requete); |
if ($donnees === false) { |
$this->messages[] = "La requête a retourné aucun résultat : $requete"; |
} else { |
$info = $donnees; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()).$requete; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()).$requete; |
} |
|
return $fichier; |