Foros del Web » Programando para Internet » PHP »

Registros duplicados PHP-MySQL

Estas en el tema de Registros duplicados PHP-MySQL en el foro de PHP en Foros del Web. Buenos dias maestros. Ojala me puedan ayudar, tengo que llenar una tabla con datos de cuentas de bancos, sin embargo requiero que esos datos no ...
  #1 (permalink)  
Antiguo 03/01/2011, 10:03
 
Fecha de Ingreso: septiembre-2010
Mensajes: 30
Antigüedad: 13 años, 7 meses
Puntos: 0
Registros duplicados PHP-MySQL

Buenos dias maestros.
Ojala me puedan ayudar, tengo que llenar una tabla con datos de cuentas de bancos, sin embargo requiero que esos datos no se repitan, he intentado de diferentes maneras hacer la conndicion sin embargo no me sale, les dejo el codigo a ver si alguien me ilustra, ya se que tengo que ir a la tabla, buscar el dato y que si lo encuentra no ejecute el POST, de lo contrario lo ejecute. El pex es que no se como hacerlo porfa ayudenmeeeee. EL post lo hago a traves de una clase.

Código PHP:
<?php
include_once ("clases/clasebancos.php"); // incluye las clases
    
$nombre="";
    
$id="";

if (isset(
$_GET['md'])) // si la operacion es modificar, este valor viene seteado y ejecuta el siguiente codigo
{
    
$cliente=new Cliente($_GET['md']);  // instancio la clase cliente pasandole el nro de cliente, de esta forma lo busca
    
$nombre=$cliente->getNombre();        // obtengo el nombre    
    
$id=$cliente->getID();                // obtengo el id
}
?>

<body onload="document.forms[0].nombre.focus()">
<div id="imSite">
<div id="imHeader">
    <h1>GM-Control</h1>
</div>
<div class="imInvisible">
<hr />
<a href="#imGoToCont" title="-???-">-???-</a>
</div>
<div id="imBody">
    <div id="imMenuMain">

<!-- Menu START -->
<a name="imGoToMenu"></a><p class="imInvisible">-???-</p>
<div id="imMnMn">
<ul>
    <li><a class="imMnItm_1" href="inicio.php" title=""><span class="imHidden">Inicio</span></a></li>
    <li><a class="imMnItm_2" ><span class="imHidden">Captura</span></a>
<ul>
    <li><a href="ctas_x_cobrar.php" title="">Ctas. X Cobrar</a></li>
    <li><a href="ctas_x_pagar.php" title="">Ctas. X Pagar</a></li>
</ul>
</li>
    <li><a class="imMnItm_3" ><span class="imHidden">Consulta</span></a>
<ul>
    <li><a href="movimientos.php" title="">Movimientos</a></li>
    <li><a href="bancos.php" title="">Bancos</a></li>
</ul>
</li>
    <li><a class="imMnItm_4" ><span class="imHidden">Catalogos</span></a>
<ul>
    <li><a href="clientes.php" title="">Clientes</a></li>
    <li><a href="proveedores.php" title="">Proveedores</a></li>
    <li><a href="egresos.php" title="">Egresos</a></li>
    <li><a href="bancos-1.php" title="">Bancos</a></li>
</ul>
</li>
    <li><a class="imMnItm_5" ><span class="imHidden">Reportes</span></a>
<ul>
    <li><a href="cuentas_por_cobrar.php" title="">Cuentas por Cobrar</a></li>
    <li><a href="cuentas_por_pagar.php" title="">Cuentas por Pagar</a></li>
    <li><a href="liquidacion.php" title="">Liquidación</a></li>
    <li><a href="bancos-2.php" title="">Bancos</a></li>
</ul>
</li>
</ul>
</div>
<!-- Menu END -->

    </div>
<hr class="imInvisible" />
<a name="imGoToCont"></a>
    <div id="imContent">
<div id="imPageSub">

<!-- Page START -->
<script>

//window.alert("Catalogo de Bancos. Bienvenido!!!") 

</script>
<h2>Catalogo de Bancos</h2>
<h2>
<div >
<form id="form" method="POST" action="bancos-1.php"> 
<input type="hidden" name="id" value="<?php print $id ?>">
<table border=0 align="center">

<tr>
    <td class="imClear"><div align="right"><span class="imLockLabel Estilo1 Estilo1 Estilo1 Estilo1">Banco:</span></div></td>
    <td><input type="text" onKeyUp="this.value = this.value.toUpperCase();" name="nombre" size="55" value = "<?php print $nombre ?>"></td>
</tr>
<tr>
    <td><span class="imLockLabel Estilo1 Estilo1 Estilo1 Estilo1"><a href="javascript:Abrir_ventana('bancospag.php')"><font size="1" face="Verdana">Imprimir todos los registros</font></a></span></td>

      <td align =right><input type="submit" name="submit" value ="<?php if(is_numeric($id)) print "Modificar"; else print "Guardar";?>"></td>
    </tr>
</table>
</form>
</div>
<hr />
  <?php
if (isset($_POST['submit'])&&!is_numeric($_POST['id'])) // si presiono el boton ingresar
{
    
$cliente=new Cliente();
    
//print_r($_POST);
    
$cliente->setNombre($_POST['nombre']); // setea los datos
    
print " <H2>Banco Guardado:</H2> ";
    
" <H2>Registro Guardado:</H2> "$cliente->insertCliente(); // inserta y muestra el resultado
}
if (isset(
$_POST['submit'])&&is_numeric($_POST['id'])) // si presiono el boton y es modificar
{
    
$cliente=new Cliente($_POST['id']);  // instancio la clase pasandole el nro de cliente para cargar los datos
    
$cliente->setNombre($_POST['nombre']); // setea los datos nuevos
    
print "<h2>Banco Modificado:</h2>";
    
"<h2>Registro Modificado:</h2>"$cliente->updateCliente(); // inserta y muestra el resultado
}
if (isset(
$_GET['br'])&&is_numeric($_GET['br'])) // si presiono el boton y es eliminar
{
    
$cliente=new Cliente();
    print 
"<h2>Banco Borrado: </h2>";
    
"<h2>Cliente Borrado: </h2>"$cliente->deleteCliente($_GET['br']); // elimina el cliente y muestra el resultado
}


     
$cliente=new Cliente();
$clientes$cliente->getClientes(); // obtiene todos los clientes para despues mostrarlos

print '<br/><br/><table border=1 width="650" align="center">'
          
.'<tr><td><h2>Banco y Cuenta:</h2></td>'
          
.'<td><h2></h2></td>'
          
.'<td><h2></h2></td></tr>';

while (
$row=mysql_fetch_Array($clientes)) // recorre los clientes uno por uno hasta el fin de la tabla
{
    print 
'<tr>'
          
.'<td><h2>'.$row['nombre'] .'</h2></td>'
          
.'<td><h2><a href="bancos-1.php?md='.$row['id'].'">Modificar</h2></a></td>'   // en este ejemplo para simplificar se envian los parametros por get utilizando un href
          
.'<td><h2><a href="bancos-1.php?br='.$row['id'].'">Borrar</h2></a></td>'        // lo correcto seria enviarlos por post con un submit por ejem.
          
.'</tr>';
}
print 
'</table>';
?>
</p>
<p>
  <script language="JavaScript" type="text/javascript">
 var frmvalidator = new Validator("form");
            frmvalidator.addValidation("nombre","req","Capture Nombre de Banco");
</script>
  #2 (permalink)  
Antiguo 03/01/2011, 10:55
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 3 meses
Puntos: 7
Respuesta: Registros duplicados PHP-MySQL

no entiendo claramente lo que quieres hacer. Lo que tu quieres es que no se inserten registros duplicados a la BD?
  #3 (permalink)  
Antiguo 03/01/2011, 10:57
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Registros duplicados PHP-MySQL

Saludos

Para ese tipo de casos no lo realizas directamente desde php, sino creas una llave primaria en tu tabla de la base de datos.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #4 (permalink)  
Antiguo 03/01/2011, 10:57
 
Fecha de Ingreso: septiembre-2010
Mensajes: 30
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Registros duplicados PHP-MySQL

Asi es, necesito que si el usuario captura un dato existente no lo guarde.
  #5 (permalink)  
Antiguo 03/01/2011, 11:12
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 3 meses
Puntos: 7
Desacuerdo Respuesta: Registros duplicados PHP-MySQL

no entiendo todavia donde esta la complejidad, disculpame...

con esto verificas si el registro existe o no.

Código PHP:
$sql=mysql_query("Select * FROM tabla_clientes where md=$md");
$datos=mysql_fetch_array($sql);

if(!
mysql_num_rows($datos)){
    
//cliente no existe
}else{
   
//cliente existe.

  #6 (permalink)  
Antiguo 03/01/2011, 11:36
 
Fecha de Ingreso: septiembre-2010
Mensajes: 30
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Registros duplicados PHP-MySQL

Intente cosas parecidas a lo que me envias, sin embargo me sigue guardando, a lo mejor mi error es en donde acomodo el codigo, no se si es en la clase o en la pagina q muestro.

Por ejemplo la condicion que me envias no se donde acomodarla,

y disculpame tu, la verdad apenas estoy haciendo mis pininos en esto de programacion web y es en verdad muy valiosa la ayuda que he recibido y de antemano muchas gracias por molestarte en contestar
  #7 (permalink)  
Antiguo 03/01/2011, 22:56
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 3 meses
Puntos: 7
Respuesta: Registros duplicados PHP-MySQL

Amigo, ese codigo debe de ir antes del INSERT...

en el codigo te puse el comentario: //cliente no existe, es alli donde tiene que ir tu INSERT.

Busca en tu codigo donde esta en INSERT y colocalo entre esas condiciones que te pase.
  #8 (permalink)  
Antiguo 13/01/2011, 19:21
 
Fecha de Ingreso: marzo-2009
Mensajes: 41
Antigüedad: 15 años
Puntos: 0
Respuesta: Registros duplicados PHP-MySQL

Cita:
Iniciado por Netyco Ver Mensaje
no entiendo todavia donde esta la complejidad, disculpame...

con esto verificas si el registro existe o no.

Código PHP:
$sql=mysql_query("Select * FROM tabla_clientes where md=$md");
$datos=mysql_fetch_array($sql);

if(!
mysql_num_rows($datos)){
    
//cliente no existe
}else{
   
//cliente existe.

amigo una pregunta.. y si tienes un formulario para "editar" un registro en la base de datos como se hace en ese caso?? ya que no permite guardar el cambio por que dice que los datos estan registrado (nombre) y la idea es verificar los datos para evitar que otro registros tengan el mismo nombre... gracias por su ayuda..

Etiquetas: duplicados, php-mysql, registros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:18.