Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: mokoMonster en 14 Febrero 2010, 08:13 am



Título: Ayuda con enumeracion de filas
Publicado por: mokoMonster en 14 Febrero 2010, 08:13 am
Buenas a todos:

     He estado leyendo y se ve sencillo, pero de verdad que estoy confundido.
En realidad no se si es mejor hacerlo con php o con MySQL pero en phpMyAdmin no logre nada :(

Quiero que al ingresar el registro, automaticamente se guarde la numeracion correspondiente, es decir, que yo Antonio Garcia soy el cliente num 3 y entonces cuando se registra otro cliente, este se guarde como num 4.
La columna es $row["No"] en el codigo.
Código:
 
<?php  
   while($row = mysql_fetch_array($result))
    {
      printf("<tr><td> %d </td><td> %s </td><td> %s </td><td> %s </td><td> %s </td><td> %s </td><td> %s </td><td> %s </td><td> %s </td><td> %s </td><td> %s </td><td> %s </td></tr>",$row["No"],$row["name"],$row["last_name"],$row["phone"],$row["emerg_phone"],$row["mail"],$row["gender"],$row["birthdate"],$row["cc_info"],$row["cvc"],$row["exp"],$row["comments"]) or die(mysql_error());
   }
  
   mysql_free_result($result);
   mysql_close($link);
?>

En realidad para mi seria mucho mejor poder guardar la enumeracion directamente en la tabla, pero ahi si no se nada de SQL y lo poco que he leido no me ayuda.
Espero alguien de ustedes me pueda iluminar con su sabiduria.
Muchisimas Gracias
Saludooos


Título: Re: Ayuda con enumeracion de filas
Publicado por: Ari Slash en 14 Febrero 2010, 08:17 am
hola

en tu base de datos, especificamente en la tabla clientes agrega un campo llamado "id" y a este le das la cualidad "autoincrementar"

algo asi
Código:
...
id BIGINT NOT NULL AUTO_INCREMENT,
...


saludos


Título: Re: Ayuda con enumeracion de filas
Publicado por: mokoMonster en 14 Febrero 2010, 08:32 am
Lo intente denuevo con PhpMyAdmin y tube esto:

Código:
SQL query:

ALTER TABLE `infoc` ADD `id` BIGINT NOT NULL AUTO_INCREMENT FIRST

MySQL said: Documentation
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

Se ingles, y se que significa.
Pero en realidad no entiendo mucho de MySQL y agradeceria muchisimo que alguien me explicara que pasa o que hago mal?

Muchas Gracias
Saludos


Título: Re: Ayuda con enumeracion de filas
Publicado por: Shell Root en 14 Febrero 2010, 08:34 am
Que campos tienes en esa tabla? Muestranos la estructura!


Título: Re: Ayuda con enumeracion de filas
Publicado por: Ari Slash en 14 Febrero 2010, 08:36 am
te dice que ya tienes un campo autoincrementable

podrias postear el codigo de tu tabla con describe  :silbar:


Título: Re: Ayuda con enumeracion de filas
Publicado por: mokoMonster en 14 Febrero 2010, 08:40 am
Estos son los campos..
Código:
$row["No"],$row["name"],$row["last_name"],$row["phone"],$row["emerg_phone"],$row["mail"],$row["gender"],$row["birthdate"],$row["cc_info"],$row["cvc"],$row["exp"],$row["comments"]
(esto lo saque de el codigo que habia puesto al principio)

No se como sacar el codigo de la tabla, insisto, no entiendo de MySQL :(:(
No se si esto sirva:

 Field     Type     Collation     Attributes     Null     Default     Extra     Action
   No    date          No          Browse distinct values    Change    Drop    Primary    Unique    Index    Fulltext
   name    varchar(15)    latin1_general_ci       No          Browse distinct values    Change    Drop    Primary    Unique    Index    Fulltext
   last_name    varchar(20)    latin1_general_ci       No          Browse distinct values    Change    Drop    Primary    Unique    Index    Fulltext
   phone    varchar(15)    latin1_general_ci       No          Browse distinct values    Change    Drop    Primary    Unique    Index    Fulltext
   emerg_phone    varchar(15)    latin1_general_ci       No          Browse distinct values    Change    Drop    Primary    Unique    Index    Fulltext
   mail    varchar(35)    latin1_general_ci       No          Browse distinct values    Change    Drop    Primary    Unique    Index    Fulltext
   gender    varchar(8)    latin1_general_ci       No          Browse distinct values    Change    Drop    Primary    Unique    Index    Fulltext
   birthdate    varchar(8)    latin1_general_ci       No          Browse distinct values    Change    Drop    Primary    Unique    Index    Fulltext
   cc_info    varchar(16)    latin1_general_ci       No          Browse distinct values    Change    Drop    Primary    Unique    Index    Fulltext
   cvc    varchar(3)    latin1_general_ci       No          Browse distinct values    Change    Drop    Primary    Unique    Index    Fulltext
   exp    varchar(5)    latin1_general_ci       No          Browse distinct values    Change    Drop    Primary    Unique    Index    Fulltext
   comments    varchar(350)    latin1_general_ci       No          Browse distinct values    Change    Drop    Primary    Unique    Index    Fulltext


Título: Re: Ayuda con enumeracion de filas
Publicado por: Ari Slash en 14 Febrero 2010, 08:44 am
bueno me imagino que es el "no"

elimina el campo "No"y luego agregas de nuevo el id,

aunque si te dice que ya es autoincrementable es porque lo has hecho bien

hace en mysql:
Código:
describe 'infoc';

y lo que salga lo posteas


saludos


Título: Re: Ayuda con enumeracion de filas
Publicado por: mokoMonster en 14 Febrero 2010, 08:48 am
Gracias por tu respuesta.
Borre "No" y luego agrege de nuevo el "id" y:
Código:
Error

SQL query:

ALTER TABLE `infoc` ADD `id` BIGINT NOT NULL AUTO_INCREMENT FIRST

MySQL said: Documentation
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
lo mismo :(
y creo que no puedo hacer el describe 'infoc'; porque no manejo consolo mysql, uso phpmyadmin.. desde ahi se puede?
Saludoss


Título: Re: Ayuda con enumeracion de filas
Publicado por: Ari Slash en 14 Febrero 2010, 08:52 am
ese campo autoincrement colocalo como identificador (la llave)

y en vez de id usa el mismo nombre "No"

para no tener problemas


saludos


Título: Re: Ayuda con enumeracion de filas
Publicado por: mokoMonster en 14 Febrero 2010, 08:56 am
Es que me sale el mismo error, desde que me salio la primera vez lo intente marcando la casilla de PRIMARY(KEY) y fue el mismo error.
Lo intente como me lo acabas de decir, y es el mismo error otra vez :(
Saludooss


Título: Re: Ayuda con enumeracion de filas
Publicado por: Ari Slash en 14 Febrero 2010, 09:06 am
segun lo que posteastes de tu tabla....todos los campos son primary key?? :S
estoy enlo cierto?


Título: Re: Ayuda con enumeracion de filas
Publicado por: mokoMonster en 14 Febrero 2010, 09:12 am
No, en realidad ninguno es primary key.
Creo que estoy un poco desorientado cierto?
haha :(
Trate haciedno el campo No como BIGINT pero sin auto_incremente
de ahi lo hice Primary Key y entonces poner el auto_increment y me devolvio esto;:
Citar
Error

SQL query:

ALTER TABLE `infoc` ADD PRIMARY KEY ( `No` )

MySQL said: Documentation
#1062 - Duplicate entry '0' for key 1


Título: Re: Ayuda con enumeracion de filas
Publicado por: Ari Slash en 14 Febrero 2010, 09:23 am
mira lo que puedes hacer es contruir tu tabla nuevamente desde cero

el campo "no" dejalo como primary key, autoincrement y bigint
luego los demas son a necesidad tuyas
pero el mail igual podrias dejarlo como primary key, y varchar()

saludos


pd:sino podrias darme los datos de conexión (por mp) de phpmyadmin y ver que pasa



Título: Re: Ayuda con enumeracion de filas
Publicado por: mokoMonster en 14 Febrero 2010, 09:36 am
Wooow xD funcionaaa
Citar
CREATE TABLE `axxxxxxx_infoc`.`infoc` (
`ID` BIGINT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 30 ) NOT NULL ,
`last_name` VARCHAR( 30 ) NOT NULL ,
`phone` VARCHAR( 20 ) NOT NULL ,
`emerg_phone` VARCHAR( 20 ) NOT NULL ,
`mail` VARCHAR( 35 ) NOT NULL ,
`gender` VARCHAR( 8 ) NOT NULL ,
`birthdate` VARCHAR( 8 ) NOT NULL ,
`cc_info` VARCHAR( 16 ) NOT NULL ,
`cvc` VARCHAR( 3 ) NOT NULL ,
`exp` VARCHAR( 5 ) NOT NULL ,
`comments` VARCHAR( 350 ) NOT NULL ,
PRIMARY KEY ( `ID` , `mail` )
) ENGINE = MYISAM

Muchisimas gracias Ari-Slash, tube que volver a hacer la tabla xD
Saludoooos :D


Título: Re: Ayuda con enumeracion de filas
Publicado por: Ari Slash en 14 Febrero 2010, 11:53 am
pues de nada


saludos