Skip to content

Instantly share code, notes, and snippets.

@cvieth
Last active December 13, 2015 19:09
Show Gist options
  • Save cvieth/4960755 to your computer and use it in GitHub Desktop.
Save cvieth/4960755 to your computer and use it in GitHub Desktop.
Danone Cashback Export Tool
<?PHP
error_reporting(0);
ini_set('display_errors', 0);
set_time_limit(0);
ignore_user_abort(true);
require_once '../lib/dbObject.php';
$sql = "SELECT
CASE
WHEN `gender` LIKE 'm'
THEN 'Herr'
WHEN `gender` LIKE 'f'
THEN 'Frau'
END AS 'Anrede',
`surname` AS 'Vorname',
`lastname` AS 'Nachname',
`email` AS 'E-Mail',
`street` AS 'Straße',
`street_nr` AS 'Hausnummer',
`postal_code` AS 'Postleitzahl',
`city` AS 'Ort',
`code` AS 'Code',
`price` AS 'Kaufpreis',
`question_1` AS 'Frage1',
`question_2` AS 'Frage2',
`question_3` AS 'Frage3',
`depositor` AS 'Kontoinhaber',
`account` AS 'Kontonummer',
`bankcode`AS 'Bankleitzahl',
`bank` AS 'Kreditinstitut',
CASE
WHEN `permission_privacy` LIKE '0'
THEN 'Nein'
WHEN `permission_privacy` LIKE '1'
THEN 'Ja'
END AS 'Newsletter',
`timestamp` AS 'Zeitpunkt'
FROM danone.promo_cashback_data
WHERE `exported` = '0';";
$query = $dbObject->prepare($sql);
$query->execute();
if ($query->rowCount() > 0) {
$buffer = '';
header('HTTP/1.1 200 OK');
header('Content-Encoding: UTF-8');
header('Content-type: text/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename=Danone_Gratis_Testen_DE_Export.csv');
header('Pragma: public');
header("Cache-Control: no-cache, no-store, max-age=0, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
// UTF-8 BOM
echo "\xEF\xBB\xBF";
// Header
echo '"Anrede";';
echo '"Vorname";';
echo '"Nachname";';
echo '"E-Mail";';
echo '"Starße";';
echo '"Hausnummer";';
echo '"PLZ";';
echo '"Ort";';
echo '"Code";';
echo '"Kaufpreis";';
echo '"Frage1";';
echo '"Frage2";';
echo '"Frage3";';
echo '"Kontoinhaber";';
echo '"Kontonummer";';
echo '"Bankleitzahl";';
echo '"Kreditinstitut";';
echo '"Newsletter";';
echo '"Zeitpunkt";';
echo "\n";
while ($row = $query->fetch()) {
echo '"' . $row['Anrede'] . '";';
echo '"' . $row['Vorname'] . '";';
echo '"' . $row['Nachname'] . '";';
echo '"' . $row['E-Mail'] . '";';
echo '"' . $row['Starße'] . '";';
echo '"' . $row['Hausnummer'] . '";';
echo '"' . $row['PLZ'] . '";';
echo '"' . $row['Ort'] . '";';
echo '"' . $row['Code'] . '";';
echo '"' . str_replace('.', ',', $row['Kaufpreis']) . '";';
echo '"' . str_replace('0', '', $row['Frage1']) . '";';
echo '"' . $row['Frage2'] . '";';
echo '"' . $row['Frage3'] . '";';
echo '"' . $row['Kontoinhaber'] . '";';
echo '"' . $row['Kontonummer'] . '";';
echo '"' . $row['Bankleitzahl'] . '";';
echo '"' . $row['Kreditinstitut'] . '";';
echo '"' . $row['Newsletter'] . '";';
echo '"' . $row['Zeitpunkt'] . '";';
echo "\n";
$sql = "UPDATE `danone`.`promo_cashback_data` SET `exported`='1', `export_time`= NOW() WHERE `email`='" . $row['E-Mail'] . "';";
$setExported = $dbObject->prepare($sql);
$setExported->execute();
}
} else {
echo 'Empty Query';
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment