[Php-avanzado] Consulta PHP, Nicolas Mozo.
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Lun Nov 3 16:06:17 ART 2014
Hola Nicolás,
PHP tiene un manejo de BITs muy bueno (sobre todo tratándose de un
lenguaje orientado a strings y a la web), sin embargo, no voy a ayudarte
con esto...
Tu tabla está mal normalizada!!!
"Para que una tabla esté en Primera Forma Normal, tiene que haber un
solo datos por campo". No estás ni en FN1!!
Con esa chanchada de los bits, estás poniendo 4 datos en un mismo
campo. Mal. Buuuuhhhh.
Normalizá bien, dale una buena semántica a los datos, y te vas a
ahorrar este y muchos otros problemas que aparecen cuando se hacen las
cosas mal... Imaginate una query que tenga que devolver Pedidos
dependiendo de dos estados: es posible que no pueda escribirse con los
datos mal.
De paso, ya que la Normalización exige 1 o 2 tablas más para
representar esto, ponele un timestamp a cada cambio de estado, porque no
es lo mismo un cliente que está en espera de ser notificado hace 2 días
que hace 20 días...
A laburar bien, que vale la pena!
El dom, 02-11-2014 a las 20:32 -0300, Nicolas Mozo escribió:
> Hola Leonardo,
>
>
> Muchas gracias por la respuesta, me puse a estudiar bien mi código y
> me di cuenta que la segunda clase al final no me servia, así que quede
> con una clase sola y ahora anda de 10. Ahora tengo otra duda mas, como
> puedo insertar un valor en BIT, en una columna BIT?, es decir yo tengo
> la siguiente tabla.
>
>
>
>
>
>
> Pedidos
> id
> Cantidad. int( 10 )
> Importe. int( 10 )
> Importe_Total. int( 10 )
> Pedido_Proceso. bit( 4 )
>
>
>
>
> Yo en Pedido_Proceso guardo un bit entre '0000' y '1111' el cual cada
> cadena significa algo, por ejemplo, si la columna Pedido_Proceso esta
> con un '0010', quiere decir que el pedido esta confirmado pero el
> usuario receptor ( una empresa X ) todavía no ha leído la
> notificación, y así con cada cadena de bits. En otras palabras, yo le
> asigno un "proceso" a cada cadena.
>
>
> El problema es el siguiente, si por ejemplo yo necesito guardar en
> Pedido_Proceso un numero del 1 ( 0001 ) al 9( 1001 ), me lo guarda
> tranquilamente, PERO si yo guardo un numero del 10( 1010 ) al 15( 1111
> ), me guarda en la columna un '0001'.
>
>
> Muchas gracias por su atención, disculpe las molestias Leonardo,
> abrazo grande.
> Saludos cordiales, Nicolas Mozo.
>
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado