Garder le zero au debut d'une variable

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

bigs32
WRInaute impliqué
WRInaute impliqué
 
Messages: 467
Inscription: Lun Mai 08, 2006 22:48

Garder le zero au debut d'une variable

Message le Ven Oct 26, 2007 10:45

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: Tout sélectionner
$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: Tout sélectionner
   $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 :)

Archaos-JdR
WRInaute discret
WRInaute discret
 
Messages: 61
Inscription: Mer Sep 20, 2006 12:08

Message le Ven Oct 26, 2007 11:54

L'affichage de $a[0] dans le while donne quoi ?

bigs32
WRInaute impliqué
WRInaute impliqué
 
Messages: 467
Inscription: Lun Mai 08, 2006 22:48

Message le Ven Oct 26, 2007 11:57

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


julienr
WRInaute passionné
WRInaute passionné
 
Messages: 870
Inscription: Mar Aoû 05, 2003 14:49

Message le Ven Oct 26, 2007 12:26

salut,
essaye peut être de caster explicitement :
Code: Tout sélectionner
$dd .= (string)$a[0]."\n";

voir aussi de debugger en faisant :
Code: Tout sélectionner
var_dump( $a );

(var_dump affiche le type)


Pandore
WRInaute accro
WRInaute accro
 
Messages: 1428
Inscription: Ven Oct 14, 2005 22:38

Message le Ven Oct 26, 2007 17:55

bigs32 a écrit: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:

Didier_S
WRInaute passionné
WRInaute passionné
 
Messages: 563
Inscription: Mar Aoû 24, 2004 22:25

Message le Sam Oct 27, 2007 23:07

si ta variable à une longueur fixe (ou une longueur minimum), tu peux "compléter" les zéros qui manquent avec str_pad()


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités