Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/08/2007, 20h12   #1
Invité de passage
 
Inscription : mai 2007
Messages : 79
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 79
Points : 2
Points : 2
Par défaut [SQL] Récupération de données

Bonsoir

Je cherche une solution pour récupérer les données qui sont dans ma base sql et les mettre dans un tableau excel
J'aimerais que l'utilisateur ait la possiblité d'extraire uniquement les enregistrements d'une date précise

Est ce que cela est possible

Merci pour votre aide
ju3979 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 22h09   #2
jnore
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
oui c'est possible. Mais en fonction du sgbd l'instruction sql est différente.
Regarde dans la faq de ton sgbd si tu n'as pas l'info.
Après l'export se fait souvent au format csv qu'excel est capable de lire.
  Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 22h32   #3
Invité de passage
 
Inscription : mai 2007
Messages : 79
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 79
Points : 2
Points : 2
c'est une base mysql créée avec easyphp

Sinon je souhaiterais avoir un fichier xls car avec fichier csv le formatage des cellules n'est pas convaincant

merci pour votre aide
ju3979 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 07h14   #4
jnore
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Pour l'export c'est ici : http://mysql.developpez.com/faq/?pag...export_fichier

Pour le filtrage par une date précise, il te faudra récupérer la donnée que tu intégrera dans ta requete SQL.
Pour l'utilisation des formulaire, c'est ici: http://php.developpez.com/faq/?page=formulaires

Le fichier généré sera sauvegardé sur le serveur, il te faudra rediriger sur celui-ci pour que le client puisse le récupérer.
Un header fera l'affaire
Code :
1
2
3
 
 
header('location: fichier')
Pour ce qui de l'extension csv , il vaut mieux que tu l'utilises dans un premier temps.
Quand tu maitriseras tout ceci, tu pourras chercher dans google pour que php puisse générer de l'excel comme tu le souhaites.

Bon courage
  Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 10h29   #5
Invité de passage
 
Inscription : mai 2007
Messages : 79
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 79
Points : 2
Points : 2
Voici le script que j'ai essayé de faire mais il ne fonctionne pas il me met l'erreur :

Parse error: parse error, unexpected T_VARIABLE in c:\program files\easyphp1-7\www\export.php on line 78

Code :
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
<?php
    // Connection à la base de donnée.
    mysql_connect("localhost","root","");
    mysql_select_db("base1");
 
    // Sélection des données.
    $result=mysql_query("select * from livraisons");
 
    // Functions d'exportation vers Excell.
    function xlsBOF() {
        echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
        return;
    }
 
    function xlsEOF() {
        echo pack("ss", 0x0A, 0x00);
        return;
    }
 
    function xlsWriteNumber($Row, $Col, $Value) {
        echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
        echo pack("d", $Value);
        return;
    }
 
    function xlsWriteLabel($Row, $Col, $Value ) {
        $L = strlen($Value);
        echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
        echo $Value;
        return;
    }
 
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");;
    header("Content-Disposition: attachment;filename=orderlist.xls ");
    header("Content-Transfer-Encoding: binary ");
 
    xlsBOF();
 
    // Insertion de la ligne 1 : Titre de la feuille.
    xlsWriteLabel(0,0,"Livraisons conseiller Cofidis.");
 
    // Insertion des entêtes de colonnes.
    xlsWriteLabel(2,0,"Civilite.");
    xlsWriteLabel(2,1,"Nom");
    xlsWriteLabel(2,2,"Prenom");
    xlsWriteLabel(2,3,"Adresse");
    xlsWriteLabel(2,4,"Ville");
    xlsWriteLabel(2,5,"Code postal");
    xlsWriteLabel(2,6,"Telephone");
    xlsWriteLabel(2,7,"Doucments à fournir");
    xlsWriteLabel(2,8,"Conseiller");
    xlsWriteLabel(2,9,"Rendez vous");
    xlsWriteLabel(2,10,"Remarque");
    xlsWriteLabel(2,11,"Date");
 
    $xlsRow = 3;
 
    // Insertion des données dans chaque ligne
    while($row=mysql_fetch_array($result)){
        xlsWriteLabel($xlsRow,0,$row['civilite']);
        xlsWriteLabel($xlsRow,1,$row['nom']);
        xlsWriteLabel($xlsRow,2,$row['prenom']);
        xlsWriteLabel($xlsRow,3,$row['adresse']);
        xlsWriteLabel($xlsRow,4,$row['ville']);
        xlsWriteLabel($xlsRow,5,$row['codepostal']);
        xlsWriteLabel($xlsRow,6,$row['telephone']);
        xlsWriteLabel($xlsRow,7,$row['documentsafournir']);
        xlsWriteLabel($xlsRow,8,$row['conseiller']);
        xlsWriteLabel($xlsRow,9,$row['rendezvousr']);
        xlsWriteLabel($xlsRow,10,$row['remarque']);
        xlsWriteLabel($xlsRow,11,$row['date']); 
 
     $xlsRow++;
    }
    xlsEOF();
    exit(); 
 
?>
Pouve vous m'aider

D'avance merci
ju3979 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 10h49   #6
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
Vu le message il te manque surement un ' ou un " voir un ; aux alentours de la ligne 78 !

au passage tu as 2 fois le ; sur cette ligne :
Code :
1
2
 
header("Content-Type: application/download");;
normalement ça ne change rien mais sait on jamais !
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 11h11   #7
Invité de passage
 
Inscription : mai 2007
Messages : 79
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 79
Points : 2
Points : 2
J'ai enlevé le ; de trop
Mais toujour même erreur et aux alentours de la ligne 78 je ne vois ou il y a une erreur....
ju3979 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 11h13   #8
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
fais peter les lignes de 70 a 80 .... vu que nous on sait pas laquelle c'est !
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 11h17   #9
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Citation:
Envoyé par RideKick
fais peter les lignes de 70 a 80 .... vu que nous on sait pas laquelle c'est !
Ce sont les dernieres avant le while:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    // Insertion des données dans chaque ligne
    while($row=mysql_fetch_array($result)){
        xlsWriteLabel($xlsRow,0,$row['civilite']);
        xlsWriteLabel($xlsRow,1,$row['nom']);
        xlsWriteLabel($xlsRow,2,$row['prenom']);
        xlsWriteLabel($xlsRow,3,$row['adresse']);
        xlsWriteLabel($xlsRow,4,$row['ville']);
        xlsWriteLabel($xlsRow,5,$row['codepostal']);
        xlsWriteLabel($xlsRow,6,$row['telephone']);
        xlsWriteLabel($xlsRow,7,$row['documentsafournir']);
        xlsWriteLabel($xlsRow,8,$row['conseiller']);
        xlsWriteLabel($xlsRow,9,$row['rendezvousr']);
        xlsWriteLabel($xlsRow,10,$row['remarque']);
        xlsWriteLabel($xlsRow,11,$row['date']); 
 
     $xlsRow++; // ligne 80
    }
    xlsEOF();
    exit(); 
 
?>
Mais j'avoue ne pas voir d'erreur flagrante, par contre c'est peut etre pas le bon fichier si? dans le parse error c'est marqué le nom du fichier concerné, est-ce le bon?
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 11h30   #10
Invité de passage
 
Inscription : mai 2007
Messages : 79
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 79
Points : 2
Points : 2
si je te confirme c'est bien le fichier export.php
ju3979 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 11h41   #11
Membre éclairé
 
Avatar de sohnic
 
Femme
bioinfo
Inscription : mai 2003
Messages : 385
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : bioinfo

Informations forums :
Inscription : mai 2003
Messages : 385
Points : 363
Points : 363
Bonjour,
au vu du message d'erreur, je me demande si tu ne t'es pas trompé sur le nom d'un champ dans ta base.
Par exemple , ca n'est peut pas $row['rendezvousr'], mais plutot $row['rendezvous'].

Ne sachant pas qui est la ligne 78, ca va etre dur de t'en dire plus ....

Bon courage,

Sohnic
__________________
http://www.noctinfo.fr/

(\ _ /)
(='.'=) Voici Lapinou. Aidez-le à conquérir le monde en le reproduisant.
(")-(")
sohnic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 11h44   #12
Invité de passage
 
Inscription : mai 2007
Messages : 79
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 79
Points : 2
Points : 2
En appelant le scritpt php via une page html ça fonctionne il m'exporte bien un fichier xls

Par contre quand j'essaye de l'ouvrir avec excel il me met "impossible de lire le fichier"

POuvez vous m'aider je pense qu'on est pas loin de résoudre le problème

D'avance merci
ju3979 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 11h53   #13
Invité de passage
 
Inscription : mai 2007
Messages : 79
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 79
Points : 2
Points : 2
C'est bon ça fonction maintenant il y avit une erreur de saisie dans le label "rendezvous"

Maintenant ce que je souhaiterais c'est que l'utilisateur puisse extraire les données de la base mais qui correspondant à une date précise
Ou éventuellement si c'est moin compliqué à faire à extraire uniquement les données de la base qui correspondent à la date du jour

Merci pour votre aide
ju3979 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 11h57   #14
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
tu change ta requete ....

Code :
select * from livraisons where date ='ce que tu veux'
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h24.


 
 
 
 
Partenaires

Hébergement Web