Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/04/2009, 09:39
Invitada
 
Fecha de Ingreso: marzo-2009
Mensajes: 17
Antigüedad: 15 años, 1 mes
Puntos: 0
Evitar duplicidad de registros en un código dado

Hola, a ver si me puede ayudar alguien. Estoy adaptando un código php que, aunque funciona, necesita algunas mejoras operativas.

Una de las mejoras es evitar que se dupliquen usuarios, así que necesito modificar el código de manera que si un usuario que quiero dar de alta, ya existe, no lo gabe y me muestre un mensaje diciendo que ya existe.

esta es la parte de código en cuestión:
Cita:
$tabla_grupo="alumnos";
// Campos que apareceran en el formulario
$a_campos_tabla = array('usuario', 'clave', 'nombre_completo', 'nif_cif', 'domicilio');
$campos_tabla = implode(",", $a_campos_tabla); // transforma array en texto separado por comas



<?editar_grupos($tabla_grupo, $pagina); ?>

<?if ($_GET["accion"]=="borrar")// Si está confirmado el borrado
{
$item=$_GET['id'];
// Borrado de la BD
$sql_borrado= "DELETE FROM $tabla_grupo WHERE id=$item";
abrers($sql_borrado);
$mensaje='<p class="mensaje correcto">Borrado OK</p>';
}
if (isset($_POST["id"]))
{
$id=$_POST["id"];
if ($_POST["accion"]=="grabar")
{
foreach ($a_campos_tabla as $valor){ $a_campos_insert[] = "\"".$_POST[$valor]."\"";}
$campos_insertar = implode(",", $a_campos_insert); // transforma array en texto separado por comas
$sql="INSERT INTO $tabla_grupo($campos_tabla) VALUES ($campos_insertar)";
abrers($sql);
$mensaje='<p class="mensaje correcto">Acción OK</p>';
}
if ($_POST["accion"]=="editar")
{
foreach ($a_campos_tabla as $valor){ $a_campos_insert[] = $valor."=\"".$_POST[$valor]."\"";}
$campos_update = implode(",", $a_campos_insert); // transforma array en texto separado por comas
$sql="UPDATE $tabla_grupo SET $campos_update WHERE id=$id";
abrers($sql);
$mensaje='<p class="mensaje correcto">Actualización OK</p>';
}
}
?>
<div id="edicionitems">
<?
if (isset($_GET["id"]) && $_GET["accion"]!="borrar"){
$accion="editar";
$id=$_GET["id"];
$sql="SELECT id, $campos_tabla FROM $tabla_grupo WHERE id=$id";
$categoria=abrers($sql);
if ($fila=mysql_fetch_array($categoria))
{
foreach ($a_campos_tabla as $valor){ $$valor=$fila[$valor]; }
}
}else{
$accion="grabar";
$id=0;
foreach ($a_campos_tabla as $valor){ $$valor=""; }
}
?>
<form class="edicionitems" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset class="campos">
<legend>Gestor: Nuevo / Editar</legend>
<? foreach ($a_campos_tabla as $valor){ ?>
<label for="l_<?=$valor?>"><?=str_replace("_"," ",$valor)?>:</label>
<? switch($valor){
case "alumno": echo '<select id="l_'.$valor.'" name="alumno">';
muestraComboSql("alumnos", $alumno, "id", "titular");
echo '</select>';
break;
default: echo '<input type="text" id="l_'.$valor.'" name="'.$valor.'" value="'.$$valor.'" />';
}
} ?>
Aún estoy aprendiendo php así que agradecería ayuda tipo "parbulario" por favor.

Adelanto gracias