Garder le zero au debut d'une variable

Salut à tous,

Donc.. problème auquel je bloque.. :(

Je recupere un champ d'une base de données pour l'écrire sur un fichier texte.

Code:
$r = mysql_query('SELECT `products_model` FROM `products`');

	while($a = mysql_fetch_row($r)){
		$dd .= $a[0]."\n";
	}

et ensuite ecriture sur fichier texte :

Code:
	$fa = fopen($f1, 'w+');
	fputs($fa, $dd);
	fclose($fa);

Toutes les variables sont correctes, le fichier est bien crée..
Le champ que je recupere et en format VARCHAR(25), donc c'est ma variable $a[0] qui contient ce champ.
Mais que ce soit a l'affichage, ou a l'ecriture du fichier, le zero refuse d'apparaitre.. pourtant le champ n'est pas en INT.

Je ne sais plus ou donner la tete.. si vous avez une solution, je suis preneur.

Merci d'avance :)
 
Dans la base de données on a en VARCHAR : 015785 (pour exemple)

Et a l'affichage de $a[0], j'ai "15785" en gros le zero est supprimé.

J'ai bien essayé les fonctions intval(), ou settype().. mais aucun resultat :(

Merci
 
salut,
essaye peut être de caster explicitement :
Code:
$dd .= (string)$a[0]."\n";
voir aussi de debugger en faisant :
Code:
var_dump( $a );
(var_dump affiche le type)
 
bigs32 a dit:
Dans la base de données on a en VARCHAR : 015785 (pour exemple)
Il te sert à quoi le zéro dans ce cas préçis ???

Si ce n'est pas pour faire des calculs, tu pourrais essayer de déclarer ta variable en "text" plutôt qu'en "varchar". Le zéro devant devrait en principe apparaitre à l'affichage. :wink:
 
si ta variable à une longueur fixe (ou une longueur minimum), tu peux "compléter" les zéros qui manquent avec str_pad()
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut