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
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
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
Que campos tienes en esa tabla? Muestranos la estructura!
te dice que ya tienes un campo autoincrementable
podrias postear el codigo de tu tabla con describe :silbar:
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
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
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
ese campo autoincrement colocalo como identificador (la llave)
y en vez de id usa el mismo nombre "No"
para no tener problemas
saludos
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
segun lo que posteastes de tu tabla....todos los campos son primary key?? :S
estoy enlo cierto?
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;:
CitarError
SQL query:
ALTER TABLE `infoc` ADD PRIMARY KEY ( `No` )
MySQL said: Documentation
#1062 - Duplicate entry '0' for key 1
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
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
pues de nada
saludos