Accueil > Forum > > > > creation numero facture
creation numero facture
mardi 18 janvier 2011 à 14:25:31 |
creation numero facture

aureliemerlin
|
Bonjour à tous
j'aimerais reproduire la fonction suivante (qui me permet de calculer mon numéro de facture) en php
voici la fonction :
Private Function New_no_facture() As Long
Dim lngNo As Long
lngNo = CLng(Year(txtDate)) * 100 + CLng(Month(txtDate))
If DCount("[no facture]", "facture", "fix([no facture]/1000)=" & lngNo) > 0 Then
New_no_facture = DMax("[no facture]", "facture", "fix([no facture]/1000)=" & lngNo) + 1
Else
New_no_facture = 1000 * lngNo + 1
End If
End Function
quelqu'un a t il une idée ????
Merci d'avance
Bonne journée
Aurélie
|
|
mardi 18 janvier 2011 à 21:23:01 |
Re : creation numero facture

cod57
|
bonsoir
tu veux generer un numero de facture unique en php ?
une proposition
Code PHP :
<?php
$date = date('YmdHis');
$date =(float)$date; /*force le type*/
echo $date;
echo '<br />';
//tu peux concaténer le timestamp
//echo time();
echo '<hr> Avec la concanètation<br />';
echo $date2=$date.'_'.time();
echo '<hr>';
//mais tu auras un string
//verifier si la facture existe
$link=mysql_connect('localhost','root','') or die('? serveur');
$db=mysql_select_db('mabase') or die('? base');
$sql="select * factures where id='$date'";
$query=mysql_query($sql) or die('? query');
if(mysql_num_rows($query)>0){
$nb_fact = $date;
} else {
echo 'pas de facture presente';
/* ... */
}
mysql_close($link);
?>
a++
|
|
mardi 18 janvier 2011 à 21:26:03 |
Re : creation numero facture

cod57
|
select * from ... (erratum) a++
|
|
vendredi 21 janvier 2011 à 09:51:57 |
Re : creation numero facture

aureliemerlin
|
bonjour
Merci pour vos réponses.
A la place de reproduire la fonction je change de méthode
Je stocke l'année, le mois et le numéro de création de chaque facture et je voudrais récupérer lors de la création le plus grand numéro selon la date ce j'ai saisi voici le code (mais cela ne fonctionne pas ):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajout nouvelle facture</title>
</head>
<?php
require_once('includes/bd.inc.php');
require_once('includes/magicquotes.inc.php');
//vide ou client ou banque
if (isset($_POST['nouvellefacture_0']) == 'oui')
{
//facture vide
} else
{
if (isset($_POST['nouvellefacture_1']) == 'oui')
{
//facture client
if(isset($_POST['Num']) && !empty($_POST['Num']))
{
$NumClient = mysqli_real_escape_string($lien, $_POST['Num']);
}
if(isset($_POST['CodeCom']) && !empty($_POST['CodeCom']))
{
$CodeCom = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['CodeCom']));
}
}else
{
if (isset($_POST['nouvellefacture_2']) == 'oui')
//facture banque
{
if(isset($_POST['NumBanque']) && !empty($_POST['NumBanque']))
{
$NumClient = mysqli_real_escape_string($lien, $_POST['NumBanque']);
}
if(isset($_POST['CodeCom']) && !empty($_POST['CodeCom']))
{
$CodeCom = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['CodeCom']));
}
}
}
}
if(isset($_POST['Date']))
{
$date_explosee = explode("/", $Date);
$jour = $date_explosee[0];
$mois = $date_explosee[1];
$annee = $date_explosee[2];
$resultat1 = mysqli_query($lien, "select max(Numero) bdfacture where Mois ='$mois' and Annee ='$annee'");
$rs=mysqli_query($resultat1);
if ($rs = @mysqli_query ($sql))
{
if (@mysqli_num_rows($rs)>0)
{
while ($tab = mysqli_fetch_array($rs))
{
//traitement
$NumFacture = $tab['Numero'] +1;
}
}
else {
$NumFacture = 1;
}
}
else {
echo 'Erreur MySQL : '.mysql_error();
}
$Date =changedatefrus(mysqli_real_escape_string($lien, $_POST['Date']));
$sql = 'INSERT INTO bdfacture set Nofacture = "' .$NumFacture .'", CodeClient = "' .$NumClient .'", Codecommercial = "' .$CodeCom .'", Date = "' .$Date .'"' ;
if (!mysqli_query($lien, $sql))
{
$erreur = "erreur dans l'ajout de la facture : " .mysqli_error($lien);
include 'erreur.html.php';
header ('location : modifreglementapp.php');
}
}
?>
<?php
function changedatefrus($datefr)
{
$dateus=$datefr{6}.$datefr{7}.$datefr{8}.$datefr{9}."-".$datefr{3}.$datefr{4}."-".$datefr{0}.$datefr{1};
return $dateus;
}
?>
<body>
</body>
</html>
je n'arrive pas à récupérer le plus grand numéro
quelqu'un a t il une idée ???
merci d'avance
Bonne journée
Aurélie
|
|
vendredi 21 janvier 2011 à 10:26:42 |
Re : creation numero facture

cod57
|
bonjour
dans ta fonction je crois que c'est pas dans le bonne ordre
Code PHP :
<?php
$Date = mysqli_real_escape_string(changedatefrus($_POST['Date']));
/* $lien ça vient d'ou ?
$lien = mysqli_real_escape_string($lien);
// puis ton insertion
*/
?>
a++
|
|
vendredi 21 janvier 2011 à 11:19:57 |
Re : creation numero facture

aureliemerlin
|
si je mets $Date = mysqli_real_escape_string(changedatefrus($_POST['Date']));
j'arrive à créer une ligne dans ma table facture mais tous les champs sont vides
merci
|
|
vendredi 21 janvier 2011 à 11:24:22 |
Re : creation numero facture

TychoBrahe
|
Salut,
@cod57 : Tu devrais lire la doc de mysqli_real_escape_string() avant de répondre,c e que tu propose ne peux pas fonctionner. En effet, mysqli_real_escape_string() prend toujours deux arguments : en premier le lien mysqli et en second la chaîne à protéger.
|
|
vendredi 21 janvier 2011 à 13:13:58 |
Re : creation numero facture

cod57
|
@TychoBrahe
d'accord avec toi, excuse moi
j ai pas fait gaffe au i tu as raison
je travaille tjs avec mysql je penser que c'était pareil ...
c'est l'ordre des fonctions qui me dérangé
$Date = mysqli_real_escape_string($lien,changedatefrus($_POST['Date']));
bon faut voir maintenant si c'est bien ça ...
a++
|
|
mercredi 26 janvier 2011 à 16:01:11 |
Re : creation numero facture

aureliemerlin
|
bonjour,
voici un bout de mon code pour ma création de facture :
$Date = changedatefrus(mysqli_real_escape_string($_POST['Date']));
$date_explosee = explode("/", $Date);
$jour = $date_explosee[0];
$mois = $date_explosee[1];
$annee = $date_explosee[2];
$resultat1 = mysqli_query($lien, "select max(Numero) bdfacture where Mois ='$mois' and Annee ='$annee'");
$bdfacture = array();
while ($ligne = mysqli_fetch_array($resultat1))
{
$bdfacture[]= array('Numero' => $ligne ['Numero']);
}
$NumFacture = $bdfacture['Numero'] ;
$sql = 'INSERT INTO bdfacture set Nofacture = "' .$NumFacture .'", CodeClient = "' .$NumClient .'", Codecommercial = "' .$CodeCom .'", Date = "' .$Date .'", Annee = "' .$annee .'"' ;
je n'arrive pas a récupérer mon plus grand numéro
quelqu'un a t il une idée ???
merci d'avance
Aurélie
|
|
jeudi 27 janvier 2011 à 17:08:49 |
Re : creation numero facture

aureliemerlin
|
bonjour
voici un morceau de code qui me permet de créer une facture mais j'ai un problème pour récupérer mon numéro maximum
voici le code :
if(isset($_POST['Date']))
{
require_once('includes/bd.inc.php');
require_once('includes/magicquotes.inc.php');
$Date =changedatefrus( mysqli_real_escape_string($lien, $_POST['Date']));
$CodeCom = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['CodeCom']));
$Evolutionfacture = 'NPAY';
$mois = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['mois']));
$annee = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['annee']));
// $query = "SELECT MAX(Numero) as num FROM bdfacture WHERE Mois ='$mois' and Annee ='$annee' "
$requete = "select max(Numero) from bdfacture WHERE Mois ='$mois' and Annee ='$annee' ";
$result = mysqli_query($requete);
if (! $result)
{
$NumFacture = "01";
} else {
// traitements ....
$ligne = mysqli_fetch_array($result);
$NumFacture = $ligne +1 ;
}
$sql = 'INSERT INTO bdfacture set CodeClient = "' .$NumClient .'", Codecommercial = "' .$CodeCom .'", Date = "' .$Date .'", Mois = "' .$mois .'", Annee = "' .$annee .'", Numero = "' .$NumFacture .'", TypeFacture = "' .$TypeFacture .'", TypeClient2 = "' .$TypeClient2 .'", Evolutionfacture = "' .$Evolutionfacture .'"';
quelqu'un a t il une idée ????,
merci d'avance
Aurélie
|
|
Cette discussion est classée dans : fonction, numero, creation, facture, lngno
Répondre à ce message
Sujets en rapport avec ce message
Fonction str_shuffle! [ par jnbrunet ]
Salut, voilà sur mon site, je dois générer une clef du genre:$numero = "01234567890123456789"; $clef = str_shuffle($numero);Bon, le problème est que l
Avoir des champs uniques dans une fonction récursive [ par lowkey ]
Bonsoir !! Voici mon code :$session['nombre_de_chemins']=0;function arborescence_question_reponse($numero_question, $niveau=0, $une_variable=''){
Fonction numero de page [ par scorpion077 ]
Bonjour,je cherche une fonction numeropage avec en paramètre un nb de page.Le resultat serait le suivant : 1 2 3 4 5Si on clique sur la page 7 ca affi
Aide pour creation de fonction [ par nagrom_om ]
Comment fait on pour creer une fonction avec des parametres optionnels.Genre function Somme(a, b, c, d) ou c et d sont optionnels...
HELP PLS [ par nabila1986 ]
Bonjour, je veux juste de l'aide et une idee parceque jarrive pas a trouver de reponse moi-meme (je suis debutante). donc ce que je veux faire c'est a
Comportement anormal d'un fonction [ par christobal ]
Bonjour, Afin de générer une url suivant le titre d'un article j'ai écrit cette fonction [code=php]function GenerationUrl($text) { $text = iconv('UTF
Afficher une image en fonction d'un pourcentage [ par loupile ]
Bonjour à tous, je m'explique alors voilà j'ai un album dans lequel j'ai une ou plusieurs images stockées dans une base de données. ces images dans
Calcul de l'azimut en fonction de 2 point GPS [ par THorgalfr ]
Bonjour à tous, Je cherche à créer une fonction qui me permette en renseignant les coordonnées GPS (lat,lon)de deux positions (A et B). J'ai réussi à
comment faire un saut avec PHP [ par goldray ]
Salut à tous , est ce que on peut faire un saut avec le php ? c.a.d je veux soit une fonction qui permet de sortir d'un boucle ou d'une condition soit
besoin d'une aide en php svp .. [ par hasnaa14 ]
Bonjour tout le monde , je suis un debutant en php et j'ai vraiment besoin de votre aide ça fais une semaine que j'essai de le faire seul mais rien ,
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|