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 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
| <?php
require_once("db.php");
// Recupération de la variable 'offset'
$offset_demande_devis=$_POST["offset"];
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css" />
<title>Demande de devis : offset n° <?php echo $offset_demande_devis; ?></title>
</head>
<body>
<?php
$query = "SELECT
id, -- récupère la valeur de la colonne l'id
date_time, -- récupère la valeur de la colonne date_time
message->>'$[0].message' as nom, -- récupère la valeur du champ 0 de la colonne message
message->>'$[1].message' as prenom,
message->>'$[2].message' as email,
message->>'$[3].message' as telephone,
message->>'$[4].message' as souhaitrappel,
message->>'$[5].message' as typebien,
message->>'$[6].message' as surface,
message->>'$[7].message' as anneeconstruction,
message->>'$[8].message' as adresse1,
message->>'$[9].message' as adresse2,
message->>'$[10].message' as codepostal,
message->>'$[11].message' as ville,
message->>'$[12].message' as besoin,
message->>'$[13].message' as choixprestation,
message->>'$[14].message' as descriptionclient,
message->>'$[15].message' as pj,
message->>'$[16].message' as google,
message->>'$[17].message' as datedemande
FROM btj4_baforms_submissions -- extrait depuis la table 'btj4_baforms_submissions'
ORDER BY id DESC -- tri par id par ordre decroissant
LIMIT 1 -- garde que 1 resultat
OFFSET $offset_demande_devis -- affiche le resultat n° i
";
// envoi de la requête SQL
$result = mysqli_query($conn, $query);
// récupération du résultat
while($row = mysqli_fetch_array($result))
{
// ****************************************
// *** Formatage des données collectées ***
// ****************************************
// Le champ $data['fields'] n'affiche pas les accents.
// on le transforme, le resultat formaté est stocké dans la variable $formated_field
$formated_descriptionclient = preg_replace_callback('~\\\\u([[:xdigit:]]{4})~', function($m) { return html_entity_decode('&#x' . $m[1] . ';', ENT_HTML5, 'UTF-8');}, $row['descriptionclient']);
// remplace /r/n par ' ' (espace)
$formated_descriptionclient = str_ireplace(array("\r","\n",'\r','\n'),' ', $formated_descriptionclient);
// remplace le signe --> \u20ac par ' ' (EUR) ( Ne fonctionne pas )
//$formated_descriptionclient = str_replace(array"\u20ac"),"EUR", formated_descriptionclient);
$nom = strtoupper($row['nom']);
$prenom = ucwords($row['prenom']);
$email = strtolower($row['email']);
$telephone = trim($row['telephone']);
$souhaitrappel = strtoupper($row['email']);
$adresse1 = ucwords($row['adresse1']);
$adresse2 = ucwords($row['adresse2']);
$codepostal = trim($row['codepostal']);
$ville = strtoupper($row['ville']);
$typebien = ucwords($row['typebien']);
$surface = trim($row['surface']);
$besoin = $row['besoin'];
$choixprestation = $row['choixprestation'];
$recherchegoogle = trim($row['google']);
// Generation du fichier CSV : "dernier_client.csv"
header('Content-Encoding: UTF-8');
header('Content-type: text/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename=dernier_client.csv');
echo "\xEF\xBB\xBF"; // UTF-8 BOM
$csv_fields = array(
//array($row['nom'],$row['prenom'],$row['email'],$row['telephone'],$row['souhaitrappel'],$row['adresse1'],$row['adresse2'],$row['codepostal'],$row['ville'],$row['typebien'],$row['surface'],$row['anneeconstruction'],$row['besoin'],$row['choixprestation'],$row['google'],$row['descriptionclient'])
array($nom,$prenom,$email,$telephone,$souhaitrappel,$adresse1,$adresse2,$codepostal,$ville,$typebien,$surface,$besoin,$choixprestation,$recherchegoogle,$formated_descriptionclient)
);
$fp = fopen('dernier_client.csv', 'w');
foreach ($csv_fields as $fields)
{
fputcsv($fp, $fields);
fprintf($fp, chr(0xEF).chr(0xBB).chr(0xBF)); // permet à excel de bien reconnaitre les accents dans le fichier csv
}
fclose($fp);
} // fin while
mysqli_free_result($result);
$conn->close();
/*
// Message optionnel indiquant que le fichier CSV à bien été généré
echo '<script language="javascript">';
echo 'alert(' . $filename . ' "fichier créé")';
echo '</script>';
*/
?> |
Partager