Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Alguna idea para resolver esto

Estas en el tema de Alguna idea para resolver esto en el foro de PHP en Foros del Web. Hola amigos tengo una tabla con estos datos: Código PHP: <table border="0" class="normal">   <thead>     <tr>       <td>Clave</td>       <td>Concepto</td>       <td>Monto</td>         </tr></thead>       <?php  do {  ?>           <td >          <?php $row_consulta ...
  #1 (permalink)  
Antiguo 21/04/2014, 10:16
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Alguna idea para resolver esto

Hola amigos tengo una tabla con estos datos:
Código PHP:
<table border="0" class="normal">
  <thead>
    <tr>
      <td>Clave</td>
      <td>Concepto</td>
      <td>Monto</td> 
       </tr></thead>
     <?php do { ?> 
        <td >
        <?php $row_consulta['Clave'];?>
        </td>
       <td >
        <?php $row_consulta['Concepto'];?>
        </td>
         <td >
        <?php $row_consulta['Monto'];?>
        </td>
        </tr>
      
<?php } while ($row_consultamysql_fetch_assoc($conssulta)); ?>
Clave-Cocepto---Monto-Pago-etc.
01----Concepto1-200---200-----
02----Concepto2-200---0.00----
03----Concepto3-200---0.00----

Hasta aca todo bien, ahora intento hacer lo siguiente quiero dos checks en cada registro uno sera para ver el estatus del pago... sin pagar estaria sin marcar,pagado marcado (al inicio todos estan sin marcar, aca solo checo mi estatuspago en mi tabla )...
el otro check sera para mandar a imprimir un documento.... en realidad en este tengo varias dudas:
el primer elemento me debe dejar imprimir sin nada mas...
el segundo elemento (concepto dos) solo debe dejarme imprimir si mi check "estatuspago" esta marcado en mi concepto 1 (si se pago el concepto 1 puedo imrprimir mi doc. del concepto dos)...
con el tres pasa lo mismo solo debo poder imprimir si mi check "estatuspago" de mi concepto 2 esta marcado....
y asi sucecivamente

Que me sugieren para poder hacer esto???
desde ya Gracias
  #2 (permalink)  
Antiguo 22/04/2014, 02:07
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Alguna idea para resolver esto

Supongo que ya tienes un campo estatuspago en la tabla y que los valores son cero (no pagado) y 1 (pagado).

Al recorrer las filas necesitas (en pseudo-código):
Código:
si concepto == "concepto1" entonces mostrar enlace para imprimir
si concepto == "concepto2" o concepto == "concepto3" entonces {
       Armas una consulta para verificar si el concepto anterior está pagado
       si estatuspago(de la consulta anterior) == 1 entonces mostrar enlace para imprimir
}
No parece tan complicado.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 22/04/2014, 10:08
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 13 años, 4 meses
Puntos: 12
Respuesta: Alguna idea para resolver esto

Gracias Triby hice lo siguiente:
En mis conceptos agregue un campo Precedente para saber si este concepto tiene que cumplir un pago previo o no.... después estoy haciendo esto pero no he tenido exito
Código PHP:
....<td >
   <?
  
/*Marcar Check si esta pagado*/
   
$aplica $row_prueba["estatusp"];
  
$checked = ($aplica == 1)?" checked ":"";?> <input type="checkbox" name="aplica" <?php echo $checked?>   disabled/></td>
 <td >
 <?php
 
/*Checo si tiene precedente y si el pago se cumplio*/
   
echo $precedente=$row_prueba['Precede']; /*muestro precedente*/
   
echo "-";
   echo 
$pago=$row_prueba['estatusp'];/*muestro estatus pago.... puede ser 1... o no existir ya que tengo una consulta para mostrar todos los conceptos por cliente... y en una tabla llevo los pagos aparte... en esta tabla no necesariamente están registrados todos los conceptos... solo los que se han pagado*/

/*Intente hacer esto */

 
if ($precedente=!&& $pago!=)
 
 {
  echo 
"Avanzar"$precedente;  
  
  }
else 
 {
    echo 
"No avanzar";
  }


?>
         </td>
<?php } while ($row_pruebamysql_fetch_assoc($prueba)); ?>


Obtengo algo asi....

Estatus pago--------EstatusPago-Precedente
Ckeck marcado -----0-1Avanzar1

Ckeck sin marcar----5-No avanzar

Ckeck sin marcar----6-No avanzar

Donde
primer registro 0= precedente (no tiene), 1=estatus pago (pagado)
2do. registro 5= precedente (id primer registro) despues del guion medio no hay nada ya que no se encuentra ese pago
3er. registro 6= precedente (id 2do. registro) después del guion medio no hay nada ya que no se encuentra ese pago

En teoria el segundo registro deberia dejarme avanzar porque su precedente registro uno esta pagado... pero me muestra No avanzar....
  #4 (permalink)  
Antiguo 22/04/2014, 16:12
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Alguna idea para resolver esto

Elimina los echo en:

Código PHP:
Ver original
  1. echo $precedente=$row_prueba['Precede'];
  2.    echo $pago=$row_prueba['estatusp'];

Supongo que no generan una salida y, en caso de generarla, sería 1 o true. Primero asigna las variables y después muestras su valor con echo; no se pueden hacer las dos cosas al mismo tiempo.

P.D. El tema está marcado como solucionado, si fue un error, avisa para desmarcarlo.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: alguna, idea, mysql, registro, resolver, tabla
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 08:20.