You can declare the column ZEROFILL when you create the table, or use
ALTER to add it now. 

Quote: Another extension is supported by MySQL for optionally specifying
the display width of an integer value in parentheses following the base
keyword for the type (for example, INT(4)). This optional width
specification is used to left-pad the display of values whose width is
less than the width specified for the column, but does not constrain the
range of values that can be stored in the column, nor the number of
digits that will be displayed for values whose width exceeds that
specified for the column. When used in conjunction with the optional
extension attribute ZEROFILL, the default padding of spaces is replaced
with zeroes. For example, for a column declared as INT(5) ZEROFILL, a
value of 4 is retrieved as 00004. Note that if you store larger values
than the display width in an integer column, you may experience problems
when MySQL generates temporary tables for some complicated joins, as in
these cases MySQL trusts that the data did fit into the original column
width.

---John Holmes...

> -----Original Message-----
> From: Justin French [mailto:[EMAIL PROTECTED]]
> Sent: Monday, June 10, 2002 11:20 PM
> To: CÚsar L. Aracena; PHP General List
> Subject: Re: [PHP] Adding zeros in front
> 
> I think certain types of INT fields (not sure which ones) zero fill
the
> number to the field length... you should read up on the col types, and
> maybe
> change it over.  Maybe do a search on "zerofill" / "zero fill".
> 
> Anyhoo, to solve your immediate problem, you could check the length of
> $row[main_group], and add some zeros to the start of it, until it's
length
> =
> your desired length.
> 
> <?
> // UNTESTED
> $row[main_group] = "45";
> 
> $desiredLength = 4;
> 
> while(strlen($row[main_group] < $desiredLength))
>     {
>     $row[main_group] = "0".$row[main_group];
>     }
> ?>
> 
> I'm sure there are other ways, and it'd be best if you wrapped it in a
> function :)
> 
> Justin French
> 
> 
> 
> on 11/06/02 1:11 PM, CÚsar L. Aracena ([EMAIL PROTECTED]) wrote:
> 
> > Hi all,
> >
> > Does anyone remembers how to add zeros in front of a result number
given
> > by a query to MySQL and returned as an array, so it always shows a 4
> > digit number? I have:
> >
> > [snip]
> > echo $row[main_group]."/".$row[sub_group];
> > [snip]
> >
> > but throws out:
> >
> > 1/0
> > 2/0
> > 3/0
> >
> > instead of:
> >
> > 0001/0
> > 0002/0
> > 0003/0
> >
> > which it should. Thanks in advance,
> >
> > Cesar Aracena <mailto:[EMAIL PROTECTED]>
> > CE / MCSE+I
> > Neuquen, Argentina
> > +54.299.6356688
> > +54.299.4466621
> >
> >
> >
> 
> 
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to