Foros del Web » Programando para Internet » PHP »

Funcion no incrementa numero

Estas en el tema de Funcion no incrementa numero en el foro de PHP en Foros del Web. HOla tengo el siguiente funcion : Código PHP: function  crear_codigo ( $dbi , $base , $atributo , $tabla , $nombre , $valor ) //Busca el máximo criterio creado, y crea un codigo de criterio mayor { ...
  #1 (permalink)  
Antiguo 16/10/2006, 10:06
 
Fecha de Ingreso: julio-2006
Mensajes: 70
Antigüedad: 17 años, 9 meses
Puntos: 0
Funcion no incrementa numero

HOla tengo el siguiente funcion :

Código PHP:
function crear_codigo($dbi,$base,$atributo,$tabla,$nombre,$valor)
//Busca el máximo criterio creado, y crea un codigo de criterio mayor
{
    
$consulta="select max(0+mid(".$atributo.",".$valor.",length(".$atributo."))) as num from ".$tabla;
    
$items=mysql_db_query($base,$consulta,$dbi);
    
$row mysql_fetch_array($items);
    
    
$codigo=$nombre.($row["num"]+1);

    return(
$codigo);
    


que despues la llamo aca:

Código PHP:
$con mysql_connect('localhost',$cuenta,$pass);

mysql_select_db($base,$con); 

//variables POST
$cod_nivel=$_POST['nivel1'];
$fecha_apli=$_POST['fecha_apli1'];


$cod_prueba=crear_codigo($dbi,$base,"cod_prueba","prueba_desemp","dprueba",8);    //Crea un nuevo código para la nueva prueba
$user=$rut_al;
$fecha=date("Y-m-d");
$fecha_apli2=cambiaf_a_mysql($fecha_apli);

/**************************************************************************************************************/


$sql="INSERT INTO prueba_desemp (cod_prueba, cod_nivel, fecha_apli, fecha_creacion, rut) VALUES ('$cod_prueba','$cod_nivel','$fecha_apli2','$fecha','$user')";

mysql_query($sql,$con); 

el problema q tengo es que cada vez que inserto, me sigue insertando el mismo codigo de prueba:

dprueba1 y no lo incrementa

q puede ser?
  #2 (permalink)  
Antiguo 16/10/2006, 10:34
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Pregunta

No me queda claro que contiene tu variable "num" dentro de la consulta, ¿Una cadena de tipo varchar? o de tipo integer?

Si pudieras poner un ejemplo te lo agradeceria mucho.

Saludillos.
  #3 (permalink)  
Antiguo 16/10/2006, 10:51
 
Fecha de Ingreso: julio-2006
Mensajes: 70
Antigüedad: 17 años, 9 meses
Puntos: 0
Cita:
Iniciado por mauled Ver Mensaje
No me queda claro que contiene tu variable "num" dentro de la consulta, ¿Una cadena de tipo varchar? o de tipo integer?

Si pudieras poner un ejemplo te lo agradeceria mucho.

Saludillos.
Código PHP:
$consulta="select max(0+mid(".$atributo.",".$valor.",length(".$atributo."))) as num from ".$tabla
    
$items=mysql_db_query($base,$consulta,$dbi); 
    
$row mysql_fetch_array($items); 
     
    
$codigo=$nombre.($row["num"]+1); 

    return(
$codigo); 
num es donde me devuelve el resultado de la consulta del maximo codigo creado, despues a num le sumo 1:

Código PHP:
$codigo=$nombre.($row["num"]+1); 
aca aplico la funcion:

$cod_prueba=crear_codigo($dbi,$base,"cod_prueba"," prueba_desemp","dprueba",8); //Crea un nuevo código para la nueva prueba

deberia quedar asi : dprueba2
pero me sigue quedando asi :dprueba1 y cada vez que inserto un registro me sigue agregando dprueba1

esop

Última edición por andersfriden; 16/10/2006 a las 10:59
  #4 (permalink)  
Antiguo 16/10/2006, 11:07
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
¿Ya ejecutaste la consulta directamente dentro de la bd para ver que valor te arroga?

Saludillos.
  #5 (permalink)  
Antiguo 16/10/2006, 12:10
 
Fecha de Ingreso: julio-2006
Mensajes: 70
Antigüedad: 17 años, 9 meses
Puntos: 0
me arroja bien , el ultimo valor lo agregue yo en la misma base fue dprueba10, y me arrojo 10
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 06:23.