Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/12/2009, 13:09
Avatar de rafaconpu
rafaconpu
 
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 2 meses
Puntos: 3
Pregunta Funcion que me guarda registros duplicados

Buenas tardes,

Tengo una sencilla función la cual al hacer un "echo" de los registros me los muestra correctamente, pero es curioso pues al realizar un insert dentro de la función, me los guarda duplicados en la tabla.

¿A qué se puede deber?

La función es esta:

Código PHP:
function f_autoriza($codigo_autor$tabla_asociada$descripcion){
$sql3 "select codsocio from t_socio";
    
$rs_socio = @mysql_query($sql3);
            
    if (@
mysql_num_rows($rs_socio) != 0){ 
            
$fecha_anyo date('Y');
        while (
$row = @mysql_fetch_array($rs_socio)){
//Compruebo si el registro seleccionado es distinto del usuario activo
if ($row['codsocio'] != $_SESSION['codigosocio']){
//Genero el código de autorización para el resto de socios
$micod genera_codigo(AUTORIZA_SOCIO$fecha_anyoLONGNUM);        

$sql4 "insert into t_autorizacion_socio (clave, fuente, aut, codsoc, ";
$sql4 $sql4."fch, vald, motv, autzd) ";
$sql4 $sql4."values ('$micod', '$codsoc', '$cod_aut', ";
$sql4 $sql4."'$row[cods]', '', 'AAA', ";
$sql4 $sql4."'', 'BBB')";
    @
mysql_query($sql4);
         }
}    
        
$valor 'V';            
    }else{
        
$valor 'F';
    }

@
mysql_free_result($rs_socio); //Libero recursos    
return $valor;

La función genera_codigo es esta:
Código PHP:
function genera_codigo($codhdr$codan$maxlg){
    
$codnum substr(microtime(), 2$maxlg);
    
$micodigo $codhdr.$codan.$codnum;    //Formo el valor a retornar
    
return $micodigo
¿Qué puede ocurrir para que me cree valores duplicados en la tabla? ¿Por cada bucle debo eliminar alguna memoria temporal que pueda estar dando este problema?

Agradezco sinceramente de antemano su ayuda. Gracias.