Exporter un fichiesr csv

ymoussa Messages postés 18 Statut Membre -  
ymoussa Messages postés 18 Statut Membre -
Bonjour,
s'il vous plait quelqu'un peux m'aider, j'aimerai expoter un fichier csv mais je rencontre des problemes de ce genre:Parse error: syntax error, unexpected 'ID' (T_STRING), expecting ')' in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\NIGELEC\index.php on line 84.
quelqu'un pour m'aider s'il vous plait

voici mon code

// Connexion à la base de données
require_once("connexion.php");

// Requête SQL
$req="SELECT * FROM nigelec";
$resultats = mysql_query($req);
// Le nom du fichier
$filename= "C:/101_NIGLC_".Date('dmY').".csv";
// Ouvertir du fichier
$handle=fopen($filename,"w" );

// Titre des colonnes du fichier .CSV
fputcsv($handle, array(Biller ID*,Billed Customer ID,Bill Account ID*,Reference 4,Reference 5,Bill Number*,Bill Date,Bill Due Date*,
Bill Amount*,Requested Operation*,Reserved 1,Reserved 2,Reserved 3,ProviderID*));

foreach($resultats as $row)
{
fputcsv($handle, array($row['Biller ID*'], $row['Billed Customer ID'], $row['Bill Account ID*'], $row['Reference 4'], $row['Reference 5']
, $row['Bill Number*'], $row['Bill Date'], $row['Bill Due Date*'], $row['Bill Amount*'], $row['Requested Operation*'], $row['Reserved 1']
, $row['Reserved 2'], $row['Reserved 3'], $row['ProviderID*']));
}

fclose($handle);

3 réponses

  1. Utilisateur anonyme
     
    Bonjour

    Quand tu écris le titre de tes colonnes, chaque titre est une chaîne de caractères et doit donc être entre simple ou doubles quotes :
    fputcsv($handle, array('Biller ID*','Billed Customer ID'…
    ou
    fputcsv($handle, array("Biller ID*","Billed Customer ID"…
    0
    1. ymoussa Messages postés 18 Statut Membre
       
      Merci, beaucoup le père ça a marché
      0
    2. ymoussa Messages postés 18 Statut Membre
       
      voici le le type erreur que je rencontre encore:
      : fopen(C:/101_NIGLC/_20032016.csv): failed to open stream: No such file or directory in
      : fputcsv() expects parameter 1 to be resource, boolean given in
      Invalid argument supplied for foreach()
      fclose() expects parameter 1 to be resource, boolean given in .
      0
  2. Utilisateur anonyme
     
    Le message d'erreur signifie que le fichier C:/101_NIGLC/_20032016.csv ou le dossier n'existent pas. Dans ton contexte, c'est probablement le dossier C:/101_NIGLC/ qui n'existe pas. PHP ne peut donc pas y ouvrir un fichier.

    Crée ce dossier si tu en as vraiment besoin, ou modifie ton code pour mettre les fichiers dans un dossier qui existe réellement.
    0
    1. ymoussa Messages postés 18 Statut Membre
       
      bonsoir le père,
      je modifier mon code il me genere bien le fichier csv mais avec comme contenu mon code HTML.
      voici mon code:
      require_once("connexion.php");
      if(isset($_POST['submit'])){

      $req="SELECT * FROM nigelec";
      $resultats = mysql_query($req);

      $file="101_NIGLC_".Date('dmY').".csv";
      $fp=fopen($file,"w" );
      fputcsv($fp, array("Biller ID*","Billed Customer ID","Bill Account ID*","Reference 4","Reference 5","Bill Number*","Bill Date","Bill Due Date*",
      "Bill Amount*","Requested Operation*","Reserved 1","Reserved 2","Reserved 3","ProviderID*"));

      if(is_array($resultas)) {
      foreach($resultats as $row)
      fputcsv($handle, array($row['Biller ID*'], $row['Billed Customer ID'], $row['Bill Account ID*'], $row['Reference 4'], $row['Reference 5']
      , $row['Bill Number*'], $row['Bill Date'], $row['Bill Due Date*'], $row['Bill Amount*'], $row['Requested Operation*'], $row['Reserved 1']
      , $row['Reserved 2'], $row['Reserved 3'], $row['ProviderID*']));
      }
      fclose($fp);
      header("Content-Type: application/csv" );
      header("Content-Length: ".filesize($file));
      header("Content-Disposition: attachment;filename=".$file);
      readfile($file);
      unlink($file);
      exit();
      }.


      et voila mes données initiales que je uploader dans ma base mysql:
      NAJIB MOUHAMED 11A00010401122015M 00014862 05022016
      NAJIB MOUHAMED 11A00010401012016M 00050206 05032016
      DJIBRILLA MOUSSA 11A00010501012016M 00039607 05032016
      BAR ZANZIBAR CEL 59.83.19 11A00011001122014M 00105301 30122014
      BAR ZANZIBAR CEL 59.83.19 11A00011001012015M 00105301 30012015
      BAR ZANZIBAR CEL 59.83.19 11A00011001022015M 00001500 28022015
      dont je juste besoins des deux colonnes de milieu dans mon fichier csv comme suit:
      Total Records*=8000,,,,,,,,,,,,,
      Total New Records*=715,,,,,,,,,,,,,
      Total Updated Records*=477,,,,,,,,,,,,,
      Total Deleted Records*=6808,,,,,,,,,,,,,
      Reserved Header Value,,,,,,,,,,,,,
      Biller ID*,Billed Customer ID,Bill Account ID*,Reference 4,Reference 5,Bill Number*,Bill Date,Bill Due Date*,Bill Amount*,Requested Operation*,Reserved 1,Reserved 2,Reserved 3,ProviderID*
      NIGLC,,OM,,,11A00815602012016R,29/02/2016,31/12/2016,4500,N,,,,101
      NIGLC,,OM,,,11B48659802012016R,29/02/2016,31/12/2016,750,N,,,,101
      NIGLC,,OM,,,11B48755802012016R,29/02/2016,31/12/2016,4309,N,,,,101
      NIGLC,,OM,,,11B48763705012016R,29/02/2016,31/12/2016,11470,N,,,,101
      NIGLC,,OM,,,11B48756201012016R,29/02/2016,31/12/2016,76423,N,,,,101
      NIGLC,,OM,,,11B48591603012016R,29/02/2016,31/12/2016,3157,N,,,,101
      exuse moi de derangement!
      0
      1. ymoussa Messages postés 18 Statut Membre > ymoussa Messages postés 18 Statut Membre
         
        Ok je t'explique:
        voila une des lignes qui se trouve dans ma base mysql:
        11A00010401122015M 00014862 et moi je besoins de ce deux colonnes das mon fichier csv que je vais générer comme suit:
        'entete de mon fichier:
        Total Records*=8000,,,,,,,,,,,,,
        Total New Records*=715,,,,,,,,,,,,,
        Total Updated Records*=477,,,,,,,,,,,,,
        Total Deleted Records*=6808,,,,,,,,,,,,,
        Reserved Header Value,,,,,,,,,,,,,
        Biller ID*,Billed Customer ID,Bill Account ID*,Reference 4,Reference 5,Bill Number*,Bill Date,Bill Due Date*,Bill Amount*,Requested Operation*,Reserved 1,Reserved 2,Reserved 3,ProviderID*
        une ligne de mon fichier:
        NIGLC,,OM,,,11A00815602012016R,29/02/2016,31/12/2016,4500,N,,,,101
        les valeurs NIGLC, OM, 31/12/2016, N et 101 doivent etre constente das le fichier
        0
  3. Utilisateur anonyme
     
    il me genere bien le fichier csv mais avec comme contenu mon code HTML

    De quel code HTML parles-tu ? Je n'en vois nulle part, ni dans ton script, ni dans tes exemples de données.

    je juste besoins des deux colonnes de milieu dans mon fichier csv comme suit
    Dans ce qui suit, il n'y a pas juste deux colonnes. Si tu as besoin de seulement deux colonnes, pourquoi en écrire une douzaine ? Je ne comprends pas ce que tu cherches à faire.
    0