Bonjour à tous
mon soucis n'est pas vraiment au niveau programmation mais je suis dit que vous pourriez m'aider
je voudrais générer un code barre (norme EAN13)
voici la méthode de calcul http://fr.wikipedia.org/wiki/EAN_13
or j'ai un problème avec le calcul de la clé
sur wiki il est expliqué qu'à la fin nous devons faire 10 - (total % 10) = clé
or j'ai un soucis quand mon "total" est multiple de 10 ...
par exemple 10 - (120 % 10) = 10
et du coup je n'ai pas une clé à 1 chiffre mais à 2 chiffres.
Si vous en savez un peu plus je suis preneur
je vous colle mon code si ça peut aider quelqu'un, c'est basic mais bon ...
Code php : 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 function genereEAN13() { $nombreDepart = ''; for ($i=1; $i<13; $i++) { $nombre = ($i == 1) ? mt_rand(1, 9) : mt_rand(0, 9); $nombreDepart .= $nombre; } $tab = str_split($nombreDepart); $totalCoef = 0; for ($j=0; $j<12; $j++) { $coef = ($j % 2 == 0) ? 1 : 3; $totalCoef += $tab[$j] * $coef; } $cle = 10 - ($totalCoef % 10); return $nombreDepart.$cle; }
Partager