Ayuda con enumeracion de filas

Iniciado por mokoMonster, 14 Febrero 2010, 08:13 AM

0 Miembros y 2 Visitantes están viendo este tema.

mokoMonster

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.
 
<?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
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange

Ari Slash

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

...
id BIGINT NOT NULL AUTO_INCREMENT,
...



saludos

mokoMonster

Lo intente denuevo con PhpMyAdmin y tube esto:

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
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange

Shell Root

Que campos tienes en esa tabla? Muestranos la estructura!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Ari Slash

te dice que ya tienes un campo autoincrementable

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

mokoMonster

#5
Estos son los campos..
$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
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange

Ari Slash

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:
describe 'infoc';

y lo que salga lo posteas


saludos

mokoMonster

Gracias por tu respuesta.
Borre "No" y luego agrege de nuevo el "id" y:
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
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange

Ari Slash

ese campo autoincrement colocalo como identificador (la llave)

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

para no tener problemas


saludos

mokoMonster

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
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange