Article View: chile.comp.programacion
Article #2230Re: Otra consulta PHP
From: gato2005_cl
Date: Fri, 17 Mar 2006 20:45
Date: Fri, 17 Mar 2006 20:45
222 lines
9459 bytes
9459 bytes
columna_unica tipoquequieres UNIQUE, o altertable
ISO 9001 escribi�:
> �C�mo hago para que MySql no me permita ingresar m�s de un dato irrepetible?
> (a nivel de la BD, no de PHP, pues ah� verificar� antes del ingreso)
> Gracias.
> "gato2005_cl" <misforos.chileSINESTO@gmail.com> escribi� en el mensaje
> news:dsiu03$s49$1@news.nivel5.cl...
>> La �nica forma que se me ocurre es tener 2 p�ginas similares:
>>
>> La primera es el formulario en si, la segunda es el formulario m�s el
>> c�digo del proceso de la base de datos.
>>
>> La segunda funciona como archivo de respuesta y proceso al primer
>> formulario, generando el formulario y un texto cercano a la clave donde se
>> indique la existencia de clave repetida o la falta de alg�n campo junto
>> con el c�digo de proceso.
>>
>> En consecuencia, la comprobacion del formulario y la existencia de los
>> campos es mejor generarla.
>>
>> gato2005_cl escribi�:
>>> Esencialmente es desperdicio de recursos acceder dos veces a la tabla.
>>> Incluye en el archivo de respuesta dek formulario la comprobacion de la
>>> existencia del ingreso y un retorno adecuado a el. Al retornar regresas a
>>> la direccion del archivo que contiene el form, marcando el elemento que
>>> esta repetido.
>>> Para ser m�s visible podrias incluir una etiqueta de texto oculta que
>>> especificara el elemento repetido.
>>>
>>> Wegh escribi�:
>>>> Si amigo, si lo tengo asi, esta bien la bdd, no permite ingresar 2
>>>> valores
>>>> iguales, pero lo que necesito es que el usuario pueda darse cuenta que
>>>> sus
>>>> datos no fueron ingresados, porque el nombre se repetia, y mandar ese
>>>> error
>>>> es lo que no me resulta.
>>>>
>>>> "RaCo" <shopper@nospamvtr.borramenet> escribi� en el mensaje
>>>> news:dshup9$ka0$1@news.nivel5.cl...
>>>>> Amigo, tal como te dice otra persona por ah�, en Bases de Datos, cuando
>>>>> tienes un dato que no se puede repetir, es necesario que lo pongas como
>>>>> Llave �nica.
>>>>>
>>>>> Me explico, en ocasiones, cuando tienes una Tabla Automovil, �sta
>>>>> deber�a tener un atributo Patente. Obviamente dos autos no pueden tener
>>>>> la Misma patente. �sto es lo que los Inform�ticos denominamos
>>>>> Integridad
>>>>> de una Base de datos, espec�ficamente de Dominio, donde una llave no
>>>>> puede contener valores nulos ni repetidos.
>>>>>
>>>>> Por qu� te doy esta lata? b�sicamente porque lo que tu preguntas no
>>>>> deber�a ser abordado con PHP (o el lenguaje de programaci�n que uses
>>>>> para tu sistema), �so es parte netamente de la Base de datos, si
>>>>> "Carda"
>>>>> es un elemento un�voco de una Entidad en tu base de datos, pues debes
>>>>> decirle a la Base de datos que "Carda" es �nica e irrepetible, y es el
>>>>> Sistema Gestor de Base de datos (MySQL, Oracle o qu� se yo qu� motor
>>>>> usas) quien debe impedir que el dato repetido se ingrese.
>>>>>
>>>>> Si tu modelo de datos actual te permite ingresar ese dato repetido
>>>>> entonces tu modelo tiene series fallas de seguridad e integridad.
>>>>> Imaginate qu� pasar�a si alguien se mete a tu base de datos por otro
>>>>> medio que no sea por tu p�gina en PHP e ingrese varios datos "Carda"
>>>>> repetidos, pues si tu BD lo permite, el error no se captar�, y as�
>>>>> sucesivamente.
>>>>>
>>>>> Te recomiendo que le eches un ojo a internet y leas algunos libros o
>>>>> cursos cortos de Modelamiento de datos y Bases de datos.
>>>>>
>>>>>
>>>>> Wegh wrote:
>>>>>> Amigos, quiero pedirles nuevamente a los entendidos en PHP, necesito
>>>> evitar
>>>>>> que se ingresen 2 "Carda" con el mismo nombre, como lo puedo hacer.
>>>>>> Les mando el c�digo donde pido los datos de la "Carda" para ser
>>>> ingresados a
>>>>>> la Base de datos.
>>>>>>
>>>>>> De antemano muchas gracias por la ayuda y la paciencia.
>>>>>>
>>>>>>
>>>>>>
>>>>>> <html>
>>>>>> <head>
>>>>>>
>>>>>> <script type="text/javascript">
>>>>>> function validate()
>>>>>> {
>>>>>> x=document.ingreso_carda
>>>>>> nombre_carda=x.nombre_carda.value
>>>>>> ano_carda=x.ano_carda.value
>>>>>> marca_carda=x.marca_carda.value
>>>>>> ancho_carda=x.ancho_carda.value
>>>>>> origen_carda=x.origen_carda.value
>>>>>> submitOK="True"
>>>>>>
>>>>>> if (nombre_carda=="")
>>>>>> {
>>>>>> alert("Por favor ingrese nombre de carda")
>>>>>> submitOK="False"
>>>>>> }
>>>>>> else
>>>>>> if (ano_carda=="")
>>>>>> {
>>>>>> alert("Por favor ingrese A�o de validaci�n")
>>>>>> submitOK="False"
>>>>>> }
>>>>>>
>>>>>> else
>>>>>> if (marca_carda=="")
>>>>>> {
>>>>>> alert("Por favor ingrese Marca de la carda")
>>>>>> submitOK="False"
>>>>>> }
>>>>>>
>>>>>> else
>>>>>> if (ancho_carda=="")
>>>>>> {
>>>>>> alert("Por favor ingrese ancho de carda")
>>>>>> submitOK="False"
>>>>>> }
>>>>>>
>>>>>> else
>>>>>> if (origen_carda=="")
>>>>>> {
>>>>>> alert("Por favor ingrese origen de la carda")
>>>>>> submitOK="False"
>>>>>> }
>>>>>>
>>>>>> if (submitOK=="False")
>>>>>> {
>>>>>> return false
>>>>>> }
>>>>>> }
>>>>>> </script>
>>>>>>
>>>>>>
>>>>>>
>>>>>> <title>Textiles Zahr S.A.</title>
>>>>>> <meta http-equiv="Content-Type" content="text/html;
>>>>>> charset=iso-8859-1">
>>>>>> </head>
>>>>>>
>>>>>> <body text="#0000A0" link="#0000A0"
>>>>>> vlink="#0000A0" alink="#0000A0">
>>>>>> <p align="center"><b><font face="Garamond" size="3">INGRESO
>>>>>> CARDA</font></b></p>
>>>>>>
>>>>>>
>>>>>> <form action="ingreso_carda_2.php" name="ingreso_carda"
>>>> target="principal"
>>>>>> id="ingreso_carda" onsubmit="return validate()" method="POST">
>>>>>> <div align="center">
>>>>>> <center>
>>>>>> <table width="602" border="0">
>>>>>> <tr>
>>>>>> <td width="276" bgcolor="#FFFFFF" bordercolor="#FFFFFF"
>>>>>> bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
>>>>>> <p align="center">
>>>>>> <font size="2" face="Garamond">Nombre:
>>>>>> <input name="nombre_carda" type="text" id="nombre" size="20">
>>>>>> </font></p>
>>>>>> </td>
>>>>>> <td width="310" bgcolor="#FFFFFF" bordercolor="#FFFFFF"
>>>>>> bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
>>>>>> <p align="center">
>>>>>> <font size="2" face="Garamond">A�o
>>>>>> Fabricaci�n:
>>>>>> <input name="ano_carda" type="text" id="ano_carda" size="20">
>>>>>> </font></p>
>>>>>> </td>
>>>>>> </tr>
>>>>>> <tr>
>>>>>> <td bgcolor="#FFFFFF" bordercolor="#FFFFFF"
>>>> bordercolorlight="#FFFFFF"
>>>>>> bordercolordark="#FFFFFF" width="276">
>>>>>> <p align="center">
>>>>>> <font size="2" face="Garamond">Marca:
>>>>>> <input name="marca_carda" type="text" id="rut" size="20">
>>>>>> </font></p>
>>>>>> </td>
>>>>>> <td bgcolor="#FFFFFF" bordercolor="#FFFFFF"
>>>> bordercolorlight="#FFFFFF"
>>>>>> bordercolordark="#FFFFFF" width="310">
>>>>>> <p align="center">
>>>>>> <font size="2" face="Garamond">Ancho de Trabajo:
>>>>>> <input name="ancho_carda" type="text" id="telefono" size="20">
>>>>>> </font></p>
>>>>>> </td>
>>>>>> </tr>
>>>>>> <tr>
>>>>>> <td bgcolor="#FFFFFF" bordercolor="#FFFFFF"
>>>> bordercolorlight="#FFFFFF"
>>>>>> bordercolordark="#FFFFFF" width="276">
>>>>>> <p align="center">
>>>>>> <font size="2" face="Garamond">Origen: <input
>>>>>> name="origen_carda" type="text" id="direccion" size="20">
>>>>>> </font></p>
>>>>>> </td>
>>>>>> <td bgcolor="#FFFFFF" bordercolor="#FFFFFF"
>>>> bordercolorlight="#FFFFFF"
>>>>>> bordercolordark="#FFFFFF" width="310">
>>>>>> <p align="center"> </p>
>>>>>> </td>
>>>>>> </tr>
>>>>>> </table>
>>>>>> </center>
>>>>>> </div>
>>>>>> <p align="center"><font size="2">
>>>>>> <input type="submit" name="Submit" value="Guardar">
>>>>>> </font></p>
>>>>>> </form>
>>>>>> <p> </p>
>>>>>> </body>
>>>>>> </html>
>>>>>>
>>>>>>
>>>>
>
>
Technical Details
Message-ID:
<dvf74p$ahk$1@news.nivel5.cl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news4.google.com!news.glorb.com!nntp-server.pubsub.com!news.nivel5.cl!not-for-mailReferences:
<dsfirg$4vq$1@news.nivel5.cl> <dshup9$ka0$1@news.nivel5.cl> <dsiehg$o2v$1@news.nivel5.cl> <dsii5g$p7c$1@news.nivel5.cl> <dsiu03$s49$1@news.nivel5.cl> <dveq84$3ed$1@spawn.telmexchile.cl>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,1b87e083a8cadad4 X-Google-Attributes: gid1593cb,public X-Google-Language: SPANISH,CP1252 Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news4.google.com!news.glorb.com!nntp-server.pubsub.com!news.nivel5.cl!not-for-mail From: gato2005_cl <misforos.chileSINESTO@gmail.com> Newsgroups: chile.comp.programacion Subject: Re: Otra consulta PHP Date: Fri, 17 Mar 2006 16:45:04 -0400 Organization: Varios Lines: 222 Message-ID: <dvf74p$ahk$1@news.nivel5.cl> References: <dsfirg$4vq$1@news.nivel5.cl> <dshup9$ka0$1@news.nivel5.cl> <dsiehg$o2v$1@news.nivel5.cl> <dsii5g$p7c$1@news.nivel5.cl> <dsiu03$s49$1@news.nivel5.cl> <dveq84$3ed$1@spawn.telmexchile.cl> NNTP-Posting-Host: pc-178-51-86-200.cm.vtr.net Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Trace: news.nivel5.cl 1142628314 10804 200.86.51.178 (17 Mar 2006 20:45:14 GMT) X-Complaints-To: news@news.nivel5.cl NNTP-Posting-Date: Fri, 17 Mar 2006 20:45:14 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows; U; Win98; es-ES; rv:1.7.10) Gecko/20050716 Thunderbird/1.0.7 Mnenhy/0.7.3.0 In-Reply-To: <dveq84$3ed$1@spawn.telmexchile.cl>