CodeCharge Studio
search Register Login  

Web Reports

Visually create Web Reports in PHP, ASP, .NET, Java, Perl and ColdFusion.
CodeCharge.com

YesSoftware Forums -> CodeCharge Studio -> Español

 Cómo evitar registros duplicados??

Print topic Send  topic

Author Message
metallivan

Posts: 17
Posted: 08/20/2008, 8:24 AM

Hola a todos!!...miren, tengo una duda y quisiera pudieran ayudarme, estoy trabajando con PHP y MySQL. Tengo un grid de registro para dar de alta equipos de futbol. En este grid debo guardar el nombre del equipo, la categoría a la que pertenece y la división. El caso es que no pueden haber equipos pertenecientes a la misma categoría y división con el mismo nombre, si este perteneciera a otra categoría y/o división no habría ningún problema, pero si son de de la misma categoría y división si.

La tabla donde se guarda el registro contiene los campos NombreEquipo (varchar), Categoria ( tinyint) y Division (tinyint), claro...aparte de la llave primaria IDequipo. Soy principiante en esto, así que les agradecería mucho una pequeña orientación, o cualquier ayuda. Sin mas por el momento, gracias!!! ;-)
View profile  Send private message
wkempees


Posts: 1679
Posted: 08/20/2008, 9:32 AM

create key on that field or combination of fields in Database, set Duplicate not allowed.
_________________
Origin: NL, T:GMT+1 (Forumtime +9)
CCS3/4.01.006 PhP, MySQL .Net/InMotion(Vista/XP, XAMPP)

if you liked this info PAYPAL me: http://donate.consultair.eu
View profile  Send private message
cleyan


Posts: 136
Posted: 08/21/2008, 8:53 AM

Coloca codigo de validacion en el evento on validate
_________________
**************************************************
Carlos Leyan B.
Temuco, Chile
www.leytec.net
View profile  Send private message
cleyan


Posts: 136
Posted: 08/21/2008, 9:08 AM

te queria publicar codigo de ejemplo pero por alguna razon no me graba el reply si tiene codigo php dentro, sorry habria que ver con codecharge porque
_________________
**************************************************
Carlos Leyan B.
Temuco, Chile
www.leytec.net
View profile  Send private message
lvalverdeb

Posts: 299
Posted: 08/21/2008, 9:17 AM

Para incluir codigo utiliza la etiqueta code con parentesis cuadrado o utiliza el botón code que aparece justo despues de los smilies

  
<? phpinfo();  
?>  

_________________
lvalverdeb
CR, GMT-6
XAMPP/Ubuntu/CCS3.2/4
View profile  Send private message
metallivan

Posts: 17
Posted: 08/21/2008, 2:57 PM

Que tal cleyan, gracias por responder. Ojalá pudieras poner el código, me sería de gran ayuda tu ejemplo. Saludos!!!
View profile  Send private message
lvalverdeb

Posts: 299
Posted: 08/21/2008, 4:37 PM

Traducción del consejo de Walter (WKempees):

En la base de datos asegurate que existe una llave para el campo o combinación de campos. Indica que no se permiten duplicados. Fin de traducción.

Yo uso Mysql y para hacer lo que quieres utilizo una llave compuesta de dos o más campos con el atributo de Unique (el cual es un requisito indispensable para toda llave primaria).

Luis


_________________
lvalverdeb
CR, GMT-6
XAMPP/Ubuntu/CCS3.2/4
View profile  Send private message
metallivan

Posts: 17
Posted: 08/25/2008, 11:55 AM

Que tal lvalverdeb, gracias por el consejo y la traducción...pero lo que quería era que el nombre del equipo no se repitiera cuando ya existía éste en la misma categoría y división, pero todos estos campos se encuentran en una misma tabla, por lo que si los pongo con el atributo Unique no me daría el resultado que buscaba. Encontré un código y lo tomé como ejemplo para elaborar la validación que quería y me quedó de la siguiente manera, colocandolo en el evento OnValidate:


  
//Custom Code @26-2A29BDB7   
$conexion = mysql_connect("localhost", "root", "");   
mysql_select_db("liga", $conexion);   
  
$NombreEquipo = $_POST["NombreEquipo"];   
$Id_categoria = $_POST["Id_categoria"];   
$Division = $_POST["Division"];  
  
   	// Realiza la búsqueda de registros existentes en la BD con los parámetros especificados  
	     $consulta = "SELECT NombreEquipo FROM equipo   
                        WHERE NombreEquipo = '$NombreEquipo' AND Id_categoria = '$Id_categoria' AND Division = '$Division'"; 	  
$resultado =  mysql_query($consulta, $conexion);   	  
  
//Verifica si se encontraron registros, y de ser así, muestra un mensaje de error   
      if (mysql_num_rows($resultado) > 0) {  
      $Container->NombreEquipo->Errors->addError("El nombre del equipo ya existe en esta categoría y división, por favor ingrese otro");  
 		}    
//End Custom Code

Espero les resulte útil en caso de que se encuentren con alguna duda similar, mil gracias a todos por su orientación ;-)....Saludos!!!
View profile  Send private message
Oper


Posts: 1195
Posted: 08/25/2008, 5:24 PM

normalmente lo que hago en esos casos es Ponerle la Claususal UNIQUE
y luego modificas ese codigo generado. con la validacion de la categoria

(No te preocupes mucho por la parte Gris es esto casos)

_________________
____________________________
http://www.7bz.com (Free CMS,CRM Developed in CCS)

http://www.PremiumWebTemplate.com
Affiliation Web Site Templates

Please do backup first
View profile  Send private message

Add new topic Subscribe to topic   


These are Community Forums for users to exchange information.
If you would like to obtain technical product help please visit http://support.yessoftware.com.

PHP Reports

Visually create Web Reports in PHP, ASP, .NET, Java, Perl and ColdFusion.
CodeCharge.com

Home   |    Search   |    Members   |    Register   |    Login


Powered by UltraApps Forum created with CodeCharge Studio
Copyright © 2003-2004 by UltraApps.com  and YesSoftware, Inc.