Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/05/2005, 09:30
Avatar de dwaks
dwaks
 
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 8 meses
Puntos: 15
Exactamente que quieres comparar??

Si lo que quieres es que en vez de mostrar:
101=120.000

Te diga
sueldo=120.000

Y se reemplaze el numero por su significado entonces veo que toda esa estructura de base de datos no es la correcta te dare otra solucion para evitar que cambies toda la estructura.

Deberas cargar de la tabla que dice que 101 es sueldo esos valores a un array, aqui me refiero a todos esos valores ya sea 101 = sueldo, 104 = gastos.

Bueno te hize este script:
Código PHP:
<?php
# coneccion a mi base de datos para obtener de la tabla codigos los codigos
# esta coneccion es porque tuve que similar que tengo una base de datos
# como la tuya
$link mysql_connect("localhost","root","");
mysql_select_db("Help",$link);

#aqui obtenemos los codigos y sus titulos de la base de datos
#estos son los que tu tienes definidos ya en una tabla
#cambia el nombre de la tabla codigos por el tuyo.
$sql "select * from codigos";
$rs mysql_query($sql,$link);
while(
$result=mysql_fetch_array($rs)){
    
#aqui el string queda asi 101=saldo#104=gasto...
    
$string $string.$result["codigo"]."=".$result["titulo"]."#";
}
#pasamos esos resultados a aun array
#que estara estructurado mas o menos asi:
#Array
#(
#    [0] => 101=saldo
#    [1] => 104=gasto
#    [2] => 106=total
#    [3] => 108=desconocido
#    [4] => 
#)
$array explode("#",$string);

# aqui puse la lista manual que te devuelven de la base de datos
# claro que deberas asignar el valor correcto tu $list = $result["datos"];
$lista "101=120.000#104=30.000#106=10.000#108=20.000";
#lo paso a array
$valores explode("#",$lista);

#aqui recorro el array de los valores que obtuviste y quieres que sean
#mostrados en vez del codigo su nombre
for($i=0;$i<=count($valores)-1;$i++){
 
#aqui obtengo el numero de codigo 101
 
$codigoLista substr($valores[$i],0,3);
 
$lenLista strlen($codigoLista)+1;
 
#aqui obtengo el valor de ese codigo
 
$valorLista substr($valores[$i],$lenLista);
 
#aqui obtengo el nombre de ese codigo pasado por una funcion
 #que hize para dividir el codigo
 
$nombre nombre($codigoLista,$array);
 
 echo 
$nombre."=".$valorLista."\n";
 
}

# esta es la funcion que transforma el codigo a nombre
function nombre($codigoLista,$array){
    
    for(
$e=0;$e<count($array)-1;$e++){
     
$len strlen($codigoLista)+1;
     
$codigos substr($array[$e],0,3);
     
$texto substr($array[$e],$len);
     if(
$codigos==$codigoLista){
     return 
$texto;
     break;
     }
    }
    
}


?>

Última edición por dwaks; 07/05/2005 a las 10:21