3 problemas con mi página php+mysql

Hola, estoy haciendo una página web y tengo tres problemas, a los que no he encontrado solución. A ver si me podeis echar una mano.

En líneas generales, os diré que tras escribir un login y password, los usuarios acceden asus datos persoanles. Bien todo perfecto excepto estos tres probelmas.

1. DNI. En este campo, los usuarios escriben su DNI. sin embargo, en este campo, se debe cumplir una serie de reglas. Y sólo he conseguido hacer funcionar una. El usuario, puede escribir su DNI de estas cuatro formas posibles.

a) N8,452,029-
b) 82,452,029-
c) N8,452,029-1
d) 82,452,029-N

A ver si sabeis como puedo meter de golpe estas cuatro reglas, por ejemplo no sería válido escribir el DNI todo junto, sin las comas.

2. Combo. Hay un campo, qu es si aceptan o no las condiciones generales. El combo pone Acepto o No acepto. Sin embago, en la bbdd mysql, deben insertarse como valores -1 (acepto) o 0 (no acepto). Pues bien con el -1 no hay problema sin embargo, no hay forma de que inserte el 0. Si en vez de 0 pongo 2 por ejemplo, si que lo coje, asi que intuyo que el problema está con el nñúmero 0. Lo he probado de todas formas posiles, poniendo en la bbdd este campo como texto y como enum, y sin embargo no hay forma de que meta el 0 como valor. A ver si me podeis explicar como solucionarlo.

3. Campos fechas. El último problema que tengo es que con este campo. En la bbdd mysql, el campo se llama Fecha_nacimiento, y está puesta como date. En la web, este valor se ha de insertar mediante dos combos (día y mes) y un campo texto (año). Pues lo que no sé es como hacerlo para que coja estos tres valores, y los meta en un solo campo Fecha_nacimiento de la bbdd mysql.

En fin, estos son los tres problemas que tengo, muchas gracias de antemano y espero vuestras sugerencias.

Saludos.
bien, no tengo mucha idea pero... lo del dni... tiene que ser asi? Por que podrias limitar el numero maximo de caracteres a 8 (sin comas) y un input de texto a parte para introducir la letra. Despues, en la BBDD guardas en una columna el texto y en otra la letra, si necesitas que el numero sea un int. O sino, limitas un solo input de texto a 9 y que lo metan todo junto, de la manera normal, es decir , 28374823D, y lo guardas como texto.

Sobre el combo ese (que no se que es pero lo intuyo), lo estas tratando de guardar como que? como un entero? entonces el 0 si que tendria que valer.

En cuanto a lo de las fechas, tendras tres variables, por ejemplo $dia, $mes $año (suponiendo que dia, mes y año sean los nombres de los combos y el campo de texto), y si la quieres guardar en la mysql en una columna de tipo fecha, pues supongo que deberas poner estas tres variables de una determinada forma en la sentencia SQL, o, si se debe pasar todo junto, deberas pasarlo como un unico string, es decir tendras que juntar el contenido de las tres variables.

Mira, ahora recuerdo, que en mysql-hispano.org? (si no .com o .net) hay , en la seccion de articulos, un par que son introducion basica a mysql 1 y 2, bien, creo recordar que en el 2, hay ejemplos con fechas.

Asi mismo, otra pagina interesante, es php.net, donde podras encontrar en la documentacion online todas las funciones disponibles.
1 respuesta