Jump to content

Développement d'un module pour le BO


Recommended Posts

Bonjour à tous !

Je souhaite développer un module pour la partie Back office cependant j'aurais plusieurs questions.

Comme je souhaite faire un export csv de certaines données de la base, comment cela se passe pour le SQL ? Je doit intégré un fichier de connexion à la base ? Comment je récupère mes valeurs pour les ajouter dans ma fonction php ?

Je souhaiterais avoir accès à la page de mon module depuis le menu de gauche du BO. Comment je peux faire pour l'intégrer ?

Je vous met en dessous mon code de test réaliser dans un simple fichier php dans Mamp et sur la base repris du site intégré dans un phpMyAdmin en localhost.

 

<?php

// Load the database configuration file 
include_once 'dbconfig.php';

// Fetch records from database 
$query = $db->query("SELECT
mod582_customer.id_customer,
mod582_customer.firstname,
mod582_customer.lastname,
mod582_gender_lang.name,
address1,
address2,
postcode,
city,
phone,
email,
phone_mobile
FROM
mod582_customer
INNER JOIN mod582_address ON mod582_customer.id_customer = mod582_address.id_customer
INNER JOIN mod582_gender_lang ON mod582_customer.id_gender = mod582_gender_lang.id_gender
WHERE CAST(mod582_customer.date_add AS DATE) = CAST( curdate() AS DATE) AND
mod582_gender_lang.id_lang = 1
ORDER BY id_customer ASC");

if ($query->num_rows > 0) {
    $delimiter = ",";
    $filename = "customers" . date('d-m-Y') . ".csv";

    // Create a file pointer 
    $f = fopen('php://memory', 'w');

    // Set column headers 
    $fields = array('CUSNOCUSTOMER', 'CUSNOCOSTNUMBER', 'CUSCUSTOMERCODE', 'CUSCATEGORYCODE', 'CUSCOUNTRY', 'CUSNAME', 'CUSCIVILITY', 'CUSADDRESS1', 'CUSADDRESS2', 'CUSZIPCODE', 'CUSCITY', 'CUSREPCODE', 'CUSTYPECUSFISC', 'CUSTYPETITRE', 'CUSPHONE', 'CUSMAIL', 'CUSPHONEPORTABLE');
    fputcsv($f, $fields, $delimiter);

    // Output each row of the data, format line as csv and write to file pointer 
    while ($row = $query->fetch_assoc()) {
        $lineData = array('', 17, 'AAA' . $row['id_customer'], 'TWI', "FRA", $row['firstname'] . " " . $row['lastname'], $row['name'], $row['address1'], $row['address2'], $row['postcode'], $row['city'], 115, 0, 'DS2', $row['phone'], $row['email'], $row['phone_mobile']);
        fputcsv($f, $lineData, $delimiter);
    }

    // Move back to beginning of file 
    fseek($f, 0);

    // Set headers to download file rather than displayed 
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="' . $filename . '";');

    //output all remaining data on a file pointer 
    fpassthru($f);
}
exit;

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...