Foros del Web » Programando para Internet » PHP »

ayudenme por favor!!!!!

Estas en el tema de ayudenme por favor!!!!! en el foro de PHP en Foros del Web. hace unos dias un amigo por aqui me ayuda con este codigo: $valores = explode("#",$recibo['valores']); for($i=0;$i<=count($valores);$i++){ echo "<span class='Estilo2'>".$valores[$i]."<br>"; } que hacia? en el campo ...
  #1 (permalink)  
Antiguo 09/05/2005, 09:44
 
Fecha de Ingreso: diciembre-2004
Mensajes: 156
Antigüedad: 13 años
Puntos: 0
ayudenme por favor!!!!!

hace unos dias un amigo por aqui me ayuda con este codigo:

$valores = explode("#",$recibo['valores']);
for($i=0;$i<=count($valores);$i++){
echo "<span class='Estilo2'>".$valores[$i]."<br>";
}

que hacia? en el campo valores de la base de datos estan estos datos:
101=120.000#102=130.000#108=104.000 que es lo qe queria que se vieran asi:
101=120.000
102=130.000
108=104.000 bien!!!

pero qeu pasa? necesito desglozar ese 101,102,108 para buscarlos en una tabla que se llama conceptos y que me diga que significa..osea se veria practicamente asi en vez que salga 101

sueldo base:120.000
prestaciones :130.000 ayuda please!!! no se como carajo hacerlo!!!
  #2 (permalink)  
Antiguo 09/05/2005, 09:45
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Pero que paso con el codigo que te di?

Entra aqui esta todo lo que hablamos ese dia:
http://www.forosdelweb.com/f18/hacer-consulta-295892/
  #3 (permalink)  
Antiguo 09/05/2005, 10:10
 
Fecha de Ingreso: diciembre-2004
Mensajes: 156
Antigüedad: 13 años
Puntos: 0
epale hermano no me corre!!! no se!!! le doy lo sparametros que me dijiste y nada!!! aqui esta el codigo:

$fd= "select codigo, descripcion from conceptos";
$resultado = mysql_query($fd, $corpcasa) or die(mysql_error());
$totalRows_Recordset1 = mysql_num_rows($resultado);
$recibo= mysql_fetch_array($resultado);

while ($registro = mysql_fetch_array($resultado)) {
$string = $string.$resultado['codigo']."=".$resultado['descripcion']."#";
}
$array = explode("#",$string);

$list = $resultado["string"];

$valores = explode("#",$list);


for($i=0;$i<=count($valores)-1;$i++){
$codigoLista = substr($valores[$i],0,3);
$lenLista = strlen($codigoLista)+1;
$valorLista = substr($valores[$i],$lenLista);
$nombre = nombre($codigoLista,$array);
echo $nombre."=".$valorLista."\n";
}

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;
}
}

}
  #4 (permalink)  
Antiguo 09/05/2005, 10:22
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Recuerda que necesitamos 2 valores importantes que los obtenemos por querys distintos:
1- La lista que tienes que da como resultado 101=120.00#104=200.00
2- Los codigos y sus nombres.

Si te fijas en el script que te di veras una variables que defino que es:
$lista = "101=120.000#104=30.000#106=10.000#108=20.000" ;

Aqui solo aqui debes ponerle el valor que tu extraes de otra consulta sql y veo el error de que en esta linea que tu colocaste:
while ($registro = mysql_fetch_array($resultado)) {
$string = $string.$resultado['codigo']."=".$resultado['descripcion']."#";
}

Tienes que $registro = mysql_fetch_array($resultado) creando el array de los datos con registros asi que $resultado["codigo"] no existe y debes cambiarlo por $registro["codigo"] y tambien cambiar $resultado["descripcion"] por $registro["descripcion"]

Ahora bien que consulta sql usas para obtener los datos:
101=120.000#104=30.000#106=10.000#108=20.000

pon esa consulta a ver como obtienes esos datos y poder aclarate mas implementando mi codigo con el tuyo.
  #5 (permalink)  
Antiguo 09/05/2005, 10:44
 
Fecha de Ingreso: diciembre-2004
Mensajes: 156
Antigüedad: 13 años
Puntos: 0
gracias nuevamente....

la sentencia es la siguiente: select * from recibo where id_empleado = '$id_empleado' con esto obtengo los datos del empleado que se encuentran en la tabla recibo especificamente en el campo valores. que es donde esta la informacion de pago en un misma cadena!y si tenias razon ahy unos errores dejame volverlos a correr!!!! gracias
  #6 (permalink)  
Antiguo 09/05/2005, 10:50
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Código PHP:
<?
# asi obtengo los valores de tu empleado.
$sql "Select * from recibo where id_empleado = '$id_empleado'";
# Tomando en cuenta que $corpcasa es tu coneccion a la base de datos
$rsM mysql_query($sql,$corpcasa) or die(mysql_error());
$resultM mysql_fetch_array($rsM);
?>
Ahora solo queda que pongas mi codigo como esta exactamente como te lo di en:
http://www.forosdelweb.com/showthread.php?t=295892

Y agregues esas lineas arriba antes de mi codigo y donde pongo $lista coloques esto:
Código PHP:
<?
$lista 
$resultM["valores"];
?>
Asi ya trabajara como tu necesitas y cada consulta tendra su orden.
  #7 (permalink)  
Antiguo 09/05/2005, 11:44
 
Fecha de Ingreso: diciembre-2004
Mensajes: 156
Antigüedad: 13 años
Puntos: 0
hermanazo gracias!!!! tal cual como me dijiste!!! funciona....pero..tengo una duda!!! y quiero aprovechar y disculpa el abuso!!! como haria si en la tabla conceptos hay un campo tipo_operacion que me dice si la descripcion es una deduccion o una asignacion??? porque cuando coloco where tipo_operacion like '1' perfecto....me trae la descripcion que son diferentes de cero... pero como el resultado de la insercion de datos esta en otra tabla que es recibo me trae el resultado de la misma es decir asi:

sueldo quincenal=100.000 (esto es un asignacion)
paro forzoso=10.000(esta vaina es deduccion)

cuando le cammbio la sentencia ensql me sale asi:

sueldo quincenal=100.000 bien :)
10.000 :( mal no se ve obviamente porque deduccion es un campo 0 osea no se ve la descrpcion porque es en la tabla concepto y el valor 'ta en la tabla recibo

la idea es que de un lado aparezcan las asuignaciones y del otro las deducciones!!!!

amigo gracias sino me entendiste ta bien!!! hasta yo me enrede!!!! gracias
  #8 (permalink)  
Antiguo 09/05/2005, 13:21
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Bueno a ver si entendi:
De la tabla conceptos optenemos los codigos y su descripcion pero aparte quieres traer los codigos que pertenescan a un tipo especifico como dijiste que puede ser asignacion o deduccion??

Bueno hasta el momento el script hagarra todo y lo transforma y no dice si es deduccion o si es asignacion ya que simplemente reemplaza el codigo por su nombre.

Recuerda que yo transformo todo lo que pones en $lista y si lista tiene algunos codigos que no viene en la consulta:
$fd= "select codigo, descripcion from conceptos where tipo_operacion like '1'";
entonces no podre trasnformar todo porque los codigos vienen imcompletos y quizas ciertos valores no lleven nombre.

Agrega esta linea aqui y dime que pasa, busca ese codigo y reemplazalo por este nuevo.:
Código PHP:
<?php
for($i=0;$i<=count($valores)-1;$i++){ 
$codigoLista substr($valores[$i],0,3);
$lenLista strlen($codigoLista)+1
$valorLista substr($valores[$i],$lenLista); 
$nombre nombre($codigoLista,$array);
if(
$nombre!=""){ # esta linea es nueva
echo $nombre."=".$valorLista."\n"
}
# esta linea es nueva
}
?>
Este codigo mostrara unicamente los codigos que pude transformar en nombre.

Espero me avises los resultados.
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 18:00.