IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Créer une facture


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Novice
    Inscrit en
    Mars 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Novice

    Informations forums :
    Inscription : Mars 2014
    Messages : 65
    Points : 47
    Points
    47
    Par défaut Créer une facture
    Bonjour,

    J'essaye de faire un programme qui fait une facture dans un fichier texte en php.

    Mais j'ai quelques petits problèmes que je n'arrive pas à résoudre.

    Premièrement j'aimerais pouvoir remplir mon 2ème formulaire autant de fois que j'ai de produit (indiquer dans le 1er formulaire) tandis que mon code me permet uniquement de faire qu'un seul produit.

    Deuxièmement, j'arrive bien à remplir mon fichier texte avec les informations remplient mais pour que cela soit plus esthétique j'aimerais que mon tableau ai des cases de tailles définies pour que ça soit aligné.

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <html>
    <head>
    <meta charset ="utf-8">
    <title>Facture</title>
    <link rel="stylesheet" href="style.css" />
    </head>
     
    <body>
    <center><h1>Facture</h1></center>
    <form method="post" action="facture.php">
    	<label>Nom :</label><input type="text" name="nom" value=""></br>
    	<label>Prénom :</label><input type="text" name="prenom" value=""></br>
    	<label>Date :</label><input type="text" name="dat" value=""></br>
    	<label>Nombre de produits :</label><input type="text" name="nbproduit" value=""></br>
    	<input type="submit" name="completer" value="Compléter"></br></br></br>
    </form>
     
    <?php 
    if (isset ($_POST["completer"]))
    {
    	$i;
    	$nom = $_POST["nom"];
    	$prenom = $_POST["prenom"];
    	$date = $_POST["dat"];
    	$nbproduit = $_POST["nbproduit"];
     
    	$tableau = array(
    	        "Nom: $nom          Prénom: $prenom          Date: $date",
    	        "Facture",
    		"Nombre de produits: $nbproduit",
    		);
    	$fich = fopen ("facture.txt", "w+");
     
    	$separation = implode("\r\n", $tableau);
     
    	fwrite($fich, $separation);
     
    	fclose($fich);
     
    for ($i=1; $i<=$nbproduit; $i++)
    	{
    ?>		
    	<form method="post" action="facture.php">
    	<h4>Produit <?php echo "$i"?></br></br></h4>
    	<label>Designation :</label><input type="text" name="designation" value=""></br>
    	<label>Prix :</label><input type="text" name="prix" value=""></br>
    	<label>Quantité :</label><input type="text" name="quantite" value=""></br>
    	<input type="submit" name="ajouter" value="Ajouter"></br>
    	</form>	
    <?php		
    	}}
     
    if(isset ($_POST["ajouter"]))
    	{
    	$i;
    	$designation = $_POST["designation"];
    	$prix = $_POST["prix"];
    	$quantite = $_POST["quantite"];
     
    	$tableau = array(
    		"",
    		"",
    		"Désignation          Prix          Quantité",
    		"$designation          $prix$quantite",
    								);
     
    	$fich = fopen ("facture.txt", "a");
     
    	$separation = implode("\r\n", $tableau);
     
    	fwrite($fich, $separation);
     
    	fclose($fich);
    }
    ?>
    </body>	
    </html>
    Merci pour votre aide !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    1 - Ta boucle for ne doit contenir que les parties repetées et pas tout le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    echo '<form method="post" action="facture.php">';
    for ($i=1; $i<=$nbproduit; $i++)
    	{
    	echo '<h4>Produit '.$i.'></br></br></h4>
    	<label>Designation :</label><input type="text" name="designation[]" value=""></br>
    	<label>Prix :</label><input type="text" name="prix[]" value=""></br>
    	<label>Quantité :</label><input type="text" name="quantite[]" value=""></br>
    }
    echo '<input type="submit" name="ajouter" value="Ajouter"></br>
    	</form>'
    Utilise une notation [] pour recuperer un tableau.
    A la reception tu l'exploites avec foreach().

    2 - Par définition un fichier texte ne contient pas de mise en forme.
    Qu'est ce que tu dois faire de ces données exactement ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Homme Profil pro
    Novice
    Inscrit en
    Mars 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Novice

    Informations forums :
    Inscription : Mars 2014
    Messages : 65
    Points : 47
    Points
    47
    Par défaut
    1 - Merci pour la boucle for
    Par contre quand je teste avec plusieurs produits, il n'y a toujours d'un seul produit qui s'écrit dans le fichier texte :/

    Je suis novice en matière de code, le professeur nous a donné cet exercice sur les fichiers exprès pour nous faire utiliser la fonction "implode" donc je pense que la notation [] et le foreach() ne sont pas utilisable ici :/

    2 - Je dois juste mettre ces données dans le fichier comme je l'ai mis dans mon code, après je voulais juste que cela soit plus régulier et plus agréable à lire. C'est pas bien grave

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as plusieurs produits, donc plusieurs implode(), donc il te faut une boucle.

    Pour la presentation, tu peux mettre une tabulation ca sera peut etre plus regulier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Homme Profil pro
    Novice
    Inscrit en
    Mars 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Novice

    Informations forums :
    Inscription : Mars 2014
    Messages : 65
    Points : 47
    Points
    47
    Par défaut
    D'accord, je vais regarder ça

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FPDF] Créer une facture multipages
    Par lacfab dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 14/06/2015, 21h19
  2. Créer une facture avec Gras, Couleur, etc
    Par michelraymond dans le forum VBA Word
    Réponses: 3
    Dernier message: 01/03/2012, 13h12
  3. [Débutant] Comment créer une facture et un dévis avec asp.net
    Par Moutombi dans le forum ASP.NET
    Réponses: 1
    Dernier message: 28/09/2011, 18h56
  4. [WD12] Créer une facture
    Par tchauman dans le forum WinDev
    Réponses: 11
    Dernier message: 28/07/2010, 21h34
  5. Créer une facture mensuelle
    Par bilou972 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/07/2009, 22h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo