Menu

Compteur qui ne marche pas [Résolu]

delavega470 275 Messages postés dimanche 9 février 2014Date d'inscription 5 septembre 2017 Dernière intervention - 11 août 2017 à 18:38 - Dernière réponse : delavega470 275 Messages postés dimanche 9 février 2014Date d'inscription 5 septembre 2017 Dernière intervention
- 12 août 2017 à 09:55
bonjour à tous j'ai crée des dossiers et enregistré des commandes sous format pdf l'ennuis c'est que le doucement pdf je le veux sous cette forme com_1.pdf,com_2.pdf ainsi de suit, le numero ne compte pas pour le premier enregistrement j'ai bien cette forme com_1.pdf pour les autres toujours com_2.pdf voici le code quelqu'un peu me dire ou se trouve l'erreur et m'aider à le corriger
<?php
    $num = 1;
 $nom_dossier= $data['id_cli'];
$structure = 'commande/'.$nom_dossier.'/';
mkdir($structure,0777,true); 
$structure = 'commande/'.$nom_dossier.'/';
$chemin = ''.$structure.'com_'.$num.'.pdf';
  $file = 'com_'.$num.'.pdf';
  $file_url=''.$structure.''.$file.'';
$envoie = $bd->query('SELECT lib_com from commande WHERE lib_com = "'.$file.'" AND id_cli="'.$_SESSION['id_cli'].'"' );
$resultat=$envoie->fetch();
 if(!empty($resultat['lib_com']) )
 {
  $num_new = $num++;
  $file = 'com_'.$num_new.'.pdf';
  $envoie = $bd->prepare('INSERT INTO commande (date_com,id_cli,lib_com,url_file) VALUES(:date_com,:id_cli,:lib_com,:url_file)');
$resultat=$envoie->execute (array('date_com'=>$today,'id_cli'=>$_SESSION['id_cli'],'lib_com'=>$file,'url_file'=>$file_url));
$delete_panier= $bd->query("DELETE FROM panier WHERE cookie='".$cookie."'");
 } else { $num = 1; 
  $file = 'com_'.$num.'.pdf';
 $envoie = $bd->prepare('INSERT INTO commande (date_com,id_cli,lib_com,url_file) VALUES(:date_com,:id_cli,:lib_com,:url_file)');
 $resultat=$envoie->execute (array('date_com'=>$today,'id_cli'=>$_SESSION['id_cli'],'lib_com'=>$file,'url_file'=>$file_url));
 $delete_panier= $bd->query("DELETE FROM panier WHERE cookie='".$cookie."'");
}
?>
Afficher la suite 

Votre réponse

6 réponses

NHenry 14231 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 22 juillet 2018 Dernière intervention - Modifié par NHenry le 11/08/2017 à 18:44
0
Merci
Commence par bien indenter ton code, pour mettre en évidence les blocs de code.
Ensuite, essayes de mettre des "echo" pour voir comment ça se passe et débugger.

J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
Commenter la réponse de NHenry
delavega470 275 Messages postés dimanche 9 février 2014Date d'inscription 5 septembre 2017 Dernière intervention - Modifié par delavega470 le 11/08/2017 à 19:30
0
Merci
$num_new egale toujours 2 et je ne sais pas pourquoi
yg_be 6044 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 23 juillet 2018 Dernière intervention - 11 août 2017 à 19:44
cela me semble normal: tu n'as prévu que 1 ou 2: ton programme fonctionne donc comme il est conçu.
yg_be 6044 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 23 juillet 2018 Dernière intervention - 11 août 2017 à 20:01
une erreur, à corriger:
- tu ne modifies pas $file_url quand tu modifies $file, puis tu enregistres la mauvaise valeur de $file_url
une suggestion: enregistre $num dans ta table, tu pourras ensuite facilement rechercher le $num maximum, et faire +1 pour la commande suivante
- autre suggestion: si tu as un champ numérique unique dans ta table commande, tu pourrais utiliser ce champ pour créer ton nom de fichier.
Commenter la réponse de delavega470
jordane45 21720 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 juillet 2018 Dernière intervention - 11 août 2017 à 20:07
0
Merci
C'est marrant. .. ca me fait penser a ton autre discussion : http://www.commentcamarche.net/forum/affich-34780889-probleme-pour-creer-code-commande
Commenter la réponse de jordane45
delavega470 275 Messages postés dimanche 9 février 2014Date d'inscription 5 septembre 2017 Dernière intervention - 12 août 2017 à 09:55
0
Merci
Merci yg_be
Commenter la réponse de delavega470