PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 07-11-2013 10:43:46

roomster83
Membre
Inscription : 07-11-2013
Messages : 8

Script PHP pour export/import de données SQL <==> CSV, PDF

Bonjour,

je viens de m'inscrire sur ce forum !
j'espère trouver de l'aide concernant un problème que je rencontre actuellement :
j'ai conçu une application de gestion de malade pour un petit centre hospitalier (saisie données malade, Fiches radios, photos..) en PHP/MySQL
je souhaite intégrer à mon application un outils d'export/import SQL <==> CSV, PDF sans passser par le PHPMyadmin
avez vous des liens?,
Merci

Dernière modification par roomster83 (07-11-2013 10:44:00)

Hors ligne

#2 07-11-2013 15:12:07

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Script PHP pour export/import de données SQL <==> CSV, PDF

Bonjour,

Non je n'ai pas de lien mais on devrait pouvoir t'aider à mettre ça en place en fonction de tes besoins, car cela reste très vague malgré tout.
Pour la bibliothèque PDF je te recommnande FPDF qui est gratuit.

++


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#3 07-11-2013 17:02:21

roomster83
Membre
Inscription : 07-11-2013
Messages : 8

Re : Script PHP pour export/import de données SQL <==> CSV, PDF

Bonjour,

En fait pour éclaircir le besoin :

en fait il s'agit d'exporter les données à partir d'une table nommée "patient"   avec la possibilité de sélectionner les champs qu'on veut exporter (sélectionner age, sexe, nom...etc)
le tout vers un fichier CSV ( le PDF c'est un + pas une nécessité)

je souhaite integrer ces fonctionnalité dans une page php que je vais intégrer à mon application

Voilà
merci

Hors ligne

#4 07-11-2013 23:48:46

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Script PHP pour export/import de données SQL <==> CSV, PDF

Saluton,
Le cahier des charges s'est déjà réduit de moitié, il ne s'agit plus que d'export ?
La sélection ne se ferait que sur des critères afférents aux métadonnées (noms des colonnes de la table) ou bien un filtre sur les données elles-mêmes est-il aussi attendu ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 08-11-2013 10:45:56

roomster83
Membre
Inscription : 07-11-2013
Messages : 8

Re : Script PHP pour export/import de données SQL <==> CSV, PDF

Bonjour,

En fait il s'agit que de sélectionner des colonnes dans une table bien déterminée.

ensuite les exporter vers un fichier CSV (ou bien PDF)

et aussi de pouvoir faire l'import depuis un fichier CSV vers des colonnes dans une table bien déterminée.

Merci

Hors ligne

#6 08-11-2013 20:57:48

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Script PHP pour export/import de données SQL <==> CSV, PDF

L'import sur des colonnes sera-t-il contraint par un identifiant (UPDATE) ou en création de lignes (INSERT) ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#7 08-11-2013 22:38:59

roomster83
Membre
Inscription : 07-11-2013
Messages : 8

Re : Script PHP pour export/import de données SQL <==> CSV, PDF

bonjour,

le plus souvent ca serait de la création (ajout de fiches patiens avec leurs informations )

Hors ligne

#8 09-11-2013 00:19:29

roomster83
Membre
Inscription : 07-11-2013
Messages : 8

Re : Script PHP pour export/import de données SQL <==> CSV, PDF

bonjour,

je ne sais pas si ca peut aider; j'ai trouver un code qui permet d'exporter directement vers un CSV. ( à partir  de http://salman-w.blogspot.com/2009/07/ex … g-php.html )
il permet de sélectionner les champs de la tables qu'on veut mais seulement en modifiant le code de la requette (select * ...etc )
je souhaite offrir cette possibilité à l'utilisateur : cad choisir les champs à partir d'une page php puis exécuter pour sortir le fichier CSV :


<?php
/*
* PHP code to export MySQL data to CSV
* http://salman-w.blogspot.com/2009/07/ex … g-php.html
*
* Sends the result of a MySQL query as a CSV file for download
*/

/*
* establish database connection
*/

$conn = mysql_connect('MYSQL_HOST', 'MYSQL_USERNAME', 'MYSQL_PASSWORD') or die(mysql_error());
mysql_select_db('MYSQL_DATABASE', $conn) or die(mysql_error($conn));

/*
* execute sql query
*/

$query = sprintf('SELECT * FROM MYSQL_TABLE');
$result = mysql_query($query, $conn) or die(mysql_error($conn));

/*
* send response headers to the browser
* following headers instruct the browser to treat the data as a csv file called export.csv
*/

header('Content-Type: text/csv');
header('Content-Disposition: attachment;filename=export.csv');

/*
* output header row (if atleast one row exists)
*/

$row = mysql_fetch_assoc($result);
if ($row) {
    echocsv(array_keys($row));
}

/*
* output data rows (if atleast one row exists)
*/

while ($row) {
    echocsv($row);
    $row = mysql_fetch_assoc($result);
}

/*
* echo the input array as csv data maintaining consistency with most CSV implementations
* - uses double-quotes as enclosure when necessary
* - uses double double-quotes to escape double-quotes
* - uses CRLF as a line separator
*/

function echocsv($fields)
{
    $separator = '';
    foreach ($fields as $field) {
        if (preg_match('/\\r|\\n|,|"/', $field)) {
            $field = '"' . str_replace('"', '""', $field) . '"';
        }
        echo $separator . $field;
        $separator = ',';
    }
    echo "\r\n";
}
?>

Dernière modification par roomster83 (09-11-2013 00:30:03)

Hors ligne

#9 11-11-2013 14:35:54

roomster83
Membre
Inscription : 07-11-2013
Messages : 8

Re : Script PHP pour export/import de données SQL <==> CSV, PDF

Bonjour,

je reviens à la charge !

en fait j'ai créé une autre page avec un formulaire avec comme "action" une page contenant le code ci-dessus.

dans le code ci-dessus  la commande :

$query = sprintf('SELECT * FROM MYSQL_TABLE'); a été remplacé par  $query = sprintf('SELECT ".$var1.",".$var2." FROM MYSQL_TABLE');

ou var1 et var2 sont issues du formulaire.

le formulaire contient des cases à cocher.Tout marche bien sauf si on laisse vide une case.

donc sa valeur est normalement NULL.

Comme si Select var1, var2  n'admet pas qu'une variable soit nulle car la syntaxe devient select  ,var2  (cas ou var1=null)

savez vous s'il ya une astuce pour selectionner que les variables non nuls dans la commande selec??

merci bcp

Hors ligne

#10 12-11-2013 19:02:55

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Script PHP pour export/import de données SQL <==> CSV, PDF

Bonjour

If ($var1===null || $var2===null) {
  // $var1 ou $var2 est null => traitement que vous souhaitez faire.
}else{
   // executer la requête car ici $var1 et $var2 sont non null 
}

++


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#11 12-11-2013 22:20:24

roomster83
Membre
Inscription : 07-11-2013
Messages : 8

Re : Script PHP pour export/import de données SQL <==> CSV, PDF

Bonjour,

MErci pour le retour,

en effet cela marche quand on a 2 variables

mais si on a une liste ??

dans mon cas j'ai 10 cases à cocher...vous imaginer le nombre de possibilités de cases vides que j'ai.....

Hors ligne

#12 14-11-2013 02:48:05

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Script PHP pour export/import de données SQL <==> CSV, PDF

Bonjour,

Si vous avez x paramètres et que ces x paramètres doivent servir à construire une requête dynamique, la méthode dépends selon que vous souhaitez faire un INSERT ou un UPDATE / SELECT.
La constante dans le traitement quelque soit le cas de figure est de passer par un tableau à index numérique (moins gourmand en ressources), bien que vous pouvez passer par un tableau associatif ou un objet également.

Il vous faut passer par un tableau donc de façon à avoir du côté php : $params[n]   avec 0<=n<=x-1 (pour x paramètres).
Ensuite en ayant mémorisé et en faisant attention de préserver l'ordre des paramètres, pour gagner en temps et en performances vous pouvez également créer un tableau de même dimension avec le même nombre de paramètres représentant le nom des colonnes associées dans votre base de données comme suit


$cols=array();
$cols[]='id';
$cols[]='col1';
$cols[]='col2';
 

et pour construire votre requête dynamique faire un truc du genre


$b=count($params); $query_params='';
for ($a=0;$a<$b;$a++){
   if ($params[$a] !== null && $params[$a] !==false){ $query_params.=" $cols[$a]=$params[$a] AND ";}
}
$query_params=substr($query_params,0,strlen($query_params)-4);
$query= "SELECT * FROM mytable WHERE $query_params";
 

Reste à adapter la construction pour un insert.

++

Dernière modification par Jc (14-11-2013 02:48:50)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#13 14-11-2013 09:39:54

roomster83
Membre
Inscription : 07-11-2013
Messages : 8

Re : Script PHP pour export/import de données SQL <==> CSV, PDF

Bonjour,

je pense aussi que je suis obligé de passer par des tableaux.
Je regarde cette méthode et je vous tiens au courant.

A+

Hors ligne

Pied de page des forums