Kefren |
Le 18/04/2008 à 17:42 |
|

|
Voila je crée un fichier automatiquement lorsque que le client fais une commande grâce à :
<?php
$connexion = mysql_connect($serv_bdd, $user_bdd, $mdp_bdd)
or die ("Erreur lors de la connexion.<br />\nMySQL a retourné : ". mysql_error());
mysql_select_db($nom_bdd, $connexion)
or die ("Erreur lors de la connexion.<br />\nMySQL a retourné : ". mysql_error());
$txt_file = "com_".$numcom.".txt";
$create_txt = fopen($txt_file,"w");
$req= 'SELECT * FROM commande_clt WHERE num_com = '.$numcom;
$select = mysql_query($req,$connexion);
while($com=mysql_fetch_array($select,MYSQL_ASSOC))
{
fwrite($create_txt,($com['num_com']."|".$com['code_clt']."|".$com['reference_art']."|".$com['designation']."|".$com['qte_art']."|".$com['puht']."|".$com['tauxtvaprod']."|".$com['unite_vente']."|".$com['pxtotprodht']."|".$com['pxtotpanierht']."|".$com['cumultva1']."|".$com['cumultva2']."|".$com['prix_cout_transport']."|".$com['prix_tot_com_ttc']."|".$com['date_com']."\r\n"));
}
fclose ($create_txt);
mysql_close();
?>
Est-il possible de placer ce fichier dans un repertoire particulier lors de sa création ? -- Si les poules traversent juste devant les voitures ... c'est pour aller de l'autre coté de la route !!!
 |
Darko91 |
Le 18/04/2008 à 17:54 |
|
 I'M BACK !!! |
 Normalement, oui tu l'enregistre format .txt  -- Boire ou conduire, il faut choisir ! Moi je suis courageux je fais les deux
 est ton ami |
Anthony |
Le 18/04/2008 à 18:20 |
|
 Admin |
Bah oui dans la variable du nom du fichier, tu mets un répertoire et ça ira se sauvegarder dans ce répertoire ;) Sinon attention à la variable $numcom car à mon avis elle n'est pas sécurisée. Attention si c'est une variable provenant d'url tu dois utiliser $_GET['numcom'] et pas $numcom :) et vérifie bien que c'est une variable numérique : ctype_digit()  -- 
|
Kefren |
Le 18/04/2008 à 18:35 |
|

|
En fait j'ai déjà essayé de mettre dans mon nom de fichier le répertoire :
$txt_file = "/nom_du_dossier/com_".$numcom.".txt";
Mais ça n'avait pas fonctionner... c'est pour ca que je suis venu ici ;) En ce qui concerne ma variable $numcom, je recupere la valeur sur la meme page comme ce-ci :
$com1 = mysql_query("SELECT max(num_com) FROM commande_clt");
$numcom = mysql_result($com1, 0, 0) + 1;
Darko91 a écrit : Normalement, oui
tu l'enregistre format .txt
Je ne vois pas le rapport entre l'emplacement et le format du fichier o_O En plus si tu avais lu tu aurais vu qu'il était déjà enregistré au format .txt et puis un fichier est un fichier sous n'importe quel format, ça reste un fichier donc déplaçable ?!? -- Si les poules traversent juste devant les voitures ... c'est pour aller de l'autre coté de la route !!!
 |
Anthony |
Le 18/04/2008 à 18:52 |
|
 Admin |
Ah oui il faut que ton dossier existe pour pouvoir enregistrer le fichier dedans :) Donc si tu fais fopen('dqsfdsqdsfdsfdsf/machin.jpg', 'w') ça marchera pas, il faudra faire un mkdir('dqsfdsqdsfdsfdsf') avant :)
Sinon pour ce qui est de la variable, le mysql_result est totalement dépassé, mais tu peux simplifier ta requête au lieu d'en faire deux :
$req= 'SELECT num_com,code_clt, etc ... (pas de SELECT * c'est pas bien) FROM commande_clt WHERE num_com = SELECT MAX(num_com) FROM commande_clt';
N'oublie pas un index sur le champ commande_clt dans la structure de la table :) -- 
|
Kefren |
Le 18/04/2008 à 19:19 |
|

|
Ben j'utilise un mysql_result car la requete me renvoi qu'un seul résultat, et si j'en fais deux requete c'est que je fais des traitement entre les deux ;)
D'abord je récupère le numéro de la dernière commande enregistrée puis j'ajoute 1 pour y enregistrer celle qui est validée puis je garde le numéro de la commande qui viens d'être enregistrer pour faire mon selct * pour créer un fichier contenant toues les lignes concernant ma commande ...
Alors mon cher Anthony mes dossiers existent !! Je les ai créés avant de changer le nom du fichier (cad avant de rajouter le nom du dossier dans le fichier) et j'ai testé ça avant de venir te déranger ;) -- Si les poules traversent juste devant les voitures ... c'est pour aller de l'autre coté de la route !!!
 |
Anthony |
Le 19/04/2008 à 12:09 |
|
 Admin |
Essaie de faire un chmod('dossier', 0777); avant d'enregistrer le fichier :) -- 
|
Kefren |
Le 20/04/2008 à 23:25 |
|

|
nikel merci Antho encore une fois  -- Si les poules traversent juste devant les voitures ... c'est pour aller de l'autre coté de la route !!!
 |