PHP vers un .csv !!!

Fermé
MaO - 14 juin 2007 à 14:48
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 16 juin 2007 à 23:47
Bonjour,

Alors voila j'aimerais transporter les données de ma base oracle vers un fichier .csv !
Etant plus habitué au base de données MySQl je me demande si le code est le mem pour se genre de chose.
Neanmoins j'ai tester le code :


<HTML> 
<HEAD> 
<TITLE>ora_exec</TITLE> 
</HEAD> 
<BODY> 

<fieldset style="width: 600px">
	<legend>Date de début et date de fin</legend>
<form method="post" action=''>
<table width="70%" border="0" cellspacing="1" cellpadding="6">
   <tr>
	<td>Date de début :</td>
	<td><input type="text" name="DD" size="25" value=<? if 
(isset($_POST['DD'])) echo $_POST['DD']; ?>><br></td>
   </tr>
   <tr>
	<td>Date de fin : </td>
	<td><input type="text" name="DF" size="25" value=<? if 
(isset($_POST['DF'])) echo $_POST['DF']; ?>><br></td>
   </tr>
</table>

<center>
<input type="hidden" name="far" value="1">
<input type="submit" name="Submit" value="Valider">
<input type="Reset" name="Reset" value="Effacer">

</center>
</form>
</fieldset>
<? 
if (isset($_POST['far']) && ($_POST['far']==1))
{

print("<h3> LISTE DES FACTURES A RECEVOIR</h3>");
//connexion 


if($connection = Ora_Logon("","")){ 

	if($cursor = ora_open($connection))
    { 
//-------------------- REQUETE --------------------------------------------------------------------------------------------
 
$query="select LCFO_CDCL_NUMERO,LCFO_CDFO_NUMERO,LCFO_LIGNE,FOUR_NOM,LCFO_ARTI_CODE,LCFO_DESIGNATION,LCFO_QTE_COMMANDEE_UA,to_char(LCFO_DT_DERNIERE_RECEPTION,'DD/MM/YYYY'),";
$query.="LCFO_QTE_RECUE_UA,LCFO_QTE_FACTUREE_UA,LCFO_UNIT_CODE_UA,(NVL(LCFO_QTE_RECUE_UA,0)-NVL(LCFO_QTE_FACTUREE_UA,0)),";
$query.="(NVL(LCFO_PRIX_UA,0)-(NVL(LCFO_PRIX_UA,0)*NVL(LCFO_TAUX_REMISE,0)/100))*(NVL(LCFO_QTE_RECUE_UA,0)-NVL(LCFO_QTE_FACTUREE_UA,0))";
$query.=" from LIGNE_CDE_FOURNISSEUR,fournisseur where FOUR_CODE=LCFO_FOUR_CODE and LCFO_DT_DERNIERE_RECEPTION between to_date('".$_POST['DD']."','DD/MM/YYYY') and to_date('".$_POST['DF']."','DD/MM/YYYY')";
$query.=" and lcfo_cent_code='AFF_ADC'and nvl(LCFO_QTE_commandee_UA,0) >0 and nvl(lcfo_QTE_RECUE_UA,0)>0 AND nvl(lcfo_QTE_RECUE_UA,0)<=nvl(LCFO_QTE_commandee_UA,0)";
$query.= " and nvl(LCFO_QTE_facturee_UA,0)<(lcfo_QTE_RECUE_UA)*0.95";
$query.="and LCFO_CDFO_NUMERO not in (select 1 from LIGNE_FACTURE_FOURNISSEUR,facture_fournisseur where  LFFO_FAFO_NUMERO=FAFO_NUMERO and FAFO_STATUT='REF'";
$query.=" and FAFO_DT_RECEPTION between to_date('".$_POST['DD']."','DD/MM/YYYY') and to_date('".$_POST['DF']."','DD/MM/YYYY'))";
	
print("<br> <br> <a style=\"font-weight: bold;\" href=\"../../index.html\">Accueil</a>");

$fichier=fopen('toto.csv','w+'); 
fputs($fichier, $data['LCFO_CDCL_NUMERO']); 
fputs($fichier,'textedeuxiemeligne');
 
fclose($fichier); 
?>     
<a href="toto.csv">Fichier</a>
<?
//------------------- PARSE ----------------------------------------------------------------------------------------------
        	if((Ora_Parse($cursor, $query)) >= 0)
		{ 
           		      if(ora_exec($cursor))
                   { 
                        	  print("<TABLE"); 
                          	  print(" BORDER=\"1\">\n"); 
                          		while(ora_fetch($cursor))
					   { 
                             			print("<TR>\n"); 
                             			  for($index = 0; 
                                 		      $index < ora_numcols($cursor); 
                                 		      $index++) 
                                 		      { 
                                    		       print("<TD>"); 
                                                       print(ora_getcolumn($cursor,$index)); 
                                    		       print("</TD>\n"); 
                       				           } 
                            			 print("</TR>\n"); 
               			}
 
	                         print("</TABLE>\n"); 
                      		 print("<BR>\n"); 
                                 print("Rows: "); 
                                 print(ora_numrows($cursor)); 
                                 print("<BR>\n"); 
                  }

                 
        }  /* fin du if not ora parse */ 
            
              // Ferme le curseur Oracle 
              Ora_Close($cursor); 
              print("Fermeture du curseur effectuee<BR>\n"); 
    } /* fin du if $cursor etc  */ 
      else{ 
        print("Le curseur n a pas pu etre ouvert!<BR>\n"); 
      } 
       // Deconnecte du serveur 
      Ora_Logoff($connection); 
      print("Deconnexion effectuee<BR>\n");
  
}  /* fin du if($connection   */ 
}
?> 
</BODY> 
</HTML>       


$fichier=fopen('toto.csv','w+'); 
fputs($fichier, $data['LCFO_CDCL_NUMERO']); 
fputs($fichier,'textedeuxiemeligne');
 
fclose($fichier); 
?>     
<a href="toto.csv">Fichier</a>
<?


j'aimerais que les données de mon select s'affiche dans mon .csv ! Comme dans un tableau en HTML...
Si certaine personne connaissent oracle...
A voir également:

6 réponses

j ai pas lu tout le code mais si tu fais une page qui te prend les données d une table de oracle et qui fait des requete de création directement vers un table mysql....
ce n est pas bon?
0
uppp

dans mon fichier excel j'obtien ressource ID#3
0
                           			 print("</TR>\n"); 
               			} 
$fichier=fopen('far.csv','w+'); 
fputs($fichier, $cursor ); 
fclose($fichier); 
?>     
<a href="far.csv">Fichier</a>
<?


Il faudrais que je fasse une boucle et que a la place de cursor je recupere le resultat de ùa requete sql...:d

mais par une BDD oracle je ne sait pas faire...HELP
0
uppp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
personne ne sait?
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
16 juin 2007 à 23:47
salut,

as-tu regardé ?
une réponse de Jeff himself !

dans le premier lien la méthode proposée il utilise bien une boucle qui formate les données en .csv.
0