Foros del Web » Programando para Internet » PHP »

Ayuda con bucle y incremento

Estas en el tema de Ayuda con bucle y incremento en el foro de PHP en Foros del Web. buenas, gatorV me ayudo con un script, pero no consigo que me funcione el bucle. la idea es que muestro unos resultados, y quiero mostrar ...
  #1 (permalink)  
Antiguo 22/02/2008, 10:38
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Ayuda con bucle y incremento

buenas,

gatorV me ayudo con un script, pero no consigo que me funcione el bucle. la idea es que muestro unos resultados, y quiero mostrar la foto de cada producto.

lo que me pasaba es que la foto se escribia una sobre la otra, y comento la idea de incluir un inclemento para ir modificando la posicion de la foto.

os dejo el codigo que estoy probando:

Código PHP:
  while($resultados mysql_fetch_assoc($inmoQuery)){
        
    
$pos $inicio;
    
$pos += $incremento;
    
$pdf->SetFont('Arial','BI',10);
    
$pdf->Ln(3);
    
$pdf->Cell(40,30,'REFERENCIA:  '.$resultados["referencia"]);
    
$pdf->Ln(5);
    
$pdf->Cell(40,30,'MARCA:  '.$resultados["marca"]);
    
$pdf->Ln(5);
    
$pdf->Cell(40,30,'MODELO:  '.$resultados["modelo"]);
    
$pdf->Ln(5);
    
$pdf->Cell(40,30,'Posicion:  '.$pos);
  } 
pero el valor de posicion siempre me da el valor 30. pq no se incrementa?

saludos
  #2 (permalink)  
Antiguo 22/02/2008, 10:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ayuda con bucle y incremento

Tu problema es que siempre asignas $pos al inicio de tu ciclo, pruebalo así:
Código PHP:
$pos $inicio;
while(
$resultados mysql_fetch_assoc($inmoQuery)){
        
    
    
$pos += $incremento;
    
$pdf->SetFont('Arial','BI',10);
    
$pdf->Ln(3);
    
$pdf->Cell(40,30,'REFERENCIA:  '.$resultados["referencia"]);
    
$pdf->Ln(5);
    
$pdf->Cell(40,30,'MARCA:  '.$resultados["marca"]);
    
$pdf->Ln(5);
    
$pdf->Cell(40,30,'MODELO:  '.$resultados["modelo"]);
    
$pdf->Ln(5);
    
$pdf->Cell(40,30,'Posicion:  '.$pos);
  } 
Saludos.
  #3 (permalink)  
Antiguo 22/02/2008, 11:36
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Re: Ayuda con bucle y incremento

hola gatorV,

ya funciona, te has dejado el incremento!! jajaa dejo el codigo por si a alguien le ayuda.

muchas gracias!!

Código PHP:

$incremento 
30;
$pos $inicio;
while(
$resultados mysql_fetch_assoc($inmoQuery)){
        
    
$pos += $incremento;
    
$pdf->SetFont('Arial','BI',10);
    
$pdf->Ln(3);
    
$pdf->Cell(40,30,'REFERENCIA:  '.$resultados["referencia"]);
    
$pdf->Ln(5);
    
$pdf->Cell(40,30,'MARCA:  '.$resultados["marca"]);
    
$pdf->Ln(5);
    
$pdf->Cell(40,30,'MODELO:  '.$resultados["modelo"]);
    
$pdf->Ln(5);
    
$imagen='../../'.$resultados['foto']; 
    
$pdf->Image($imagen,150,$pos,25);  
  } 
ferranWEB
  #4 (permalink)  
Antiguo 22/02/2008, 11:47
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Re: Ayuda con bucle y incremento

buenas de nuevo gatorV... ahora se me presenta un problema de esos bonitos, de los de pensar!! jajaa.

funciona a la perfeccion. pero hay un problema, el script lo que hace es generar un pdf con los archivos obtenidos de una bd. que pasa? que cuando hace el addPage, la segunda pagina, el bucle sigue incrementando y las dos ultimas fotos aparecen al final de la segunda pagina...

puedo hacer algun tipo de condicional o algo para que a un nº x de registros se reinicie la variable incremento?

saludos,

ferranWEB
  #5 (permalink)  
Antiguo 22/02/2008, 12:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ayuda con bucle y incremento

Puedes hacerlo así:
Código PHP:
$contador 0;
while( 
ciclo ) {
        
$contador++;
        if( 
$contador == ) { // para 5 registros
                
$pos $inicio;
        }

Saludos.
  #6 (permalink)  
Antiguo 25/02/2008, 03:40
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Re: Ayuda con bucle y incremento

buenas de nuevo gatorV,

vuelvo a preguntarte. de momento con tu ayuda ya he entendido algo mejor los bucles, una asignatura pendiente que tenia!! hice lo que me comentabas del contador. en una pagina me entran 11 registros. y la primera pagina se me cuadra perfectamente la linea con la foto.

pero tengo 2 pequeños problemas. primero te pinto el codigo:

Código PHP:
$incremento22;
$pos=$inicio;

while(
$resultados mysql_fetch_assoc($inmoQuery)){
    
        
$contador++;
        
        if( 
$contador == 12 || $contador==24 || $contador== 36 || $contador==48 ||  $contador == 60) { // para 5 registros
                
$pos $inicio;
        }

    
$pos += $incremento;
    
$pdf->SetFont('Arial','B',10);
    
$pdf->Ln(6);
    
$pdf->Cell(40,20,'REFERENCIA:  '.$resultados["referencia"].' |  MARCA: '.$resultados["marca"].' |  MODELO: '.$resultados["modelo"]);
    
$imagen='../../'.$resultados['foto']; 
    
$pdf->Image($imagen,150,$pos,15); 
    
$pdf->Ln(16); 

  } 
1- la primera pagina como te comentaba me cuadra a la perfeccion. pero a partir de la sguiente pagina se me descuadra un pelin la foto, es como si comnezase un poco mas abajo y se descuadra todo un poco. sabes pq puede pasar?

2- si te fijas, he tenido que hacer trampa con el contador. tengo que ponerle a mano los casos en los que tiene que modificarse, es decir, si me caben 11 por pagina, a la que hace 12, 24, ... etc... hay alguna forma de automatizarlo?

saludos,

ferranWEB
  #7 (permalink)  
Antiguo 25/02/2008, 09:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ayuda con bucle y incremento

1.- Juega con tu variable $inicio, prueba cambiar la posicion inicial para que empieze mas arriba o mas abajo.

2.- Para automatizar eso mejor usa:
Código PHP:
if( ( $contador 12 ) == ) {
       
$pos $inicio;

Con el operador % realizas una división, y te da el resultado del residuo, el cual si es 0, es que es una división exacta.

Saludos.
  #8 (permalink)  
Antiguo 25/02/2008, 10:38
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Re: Ayuda con bucle y incremento

estas hecho un crack gatorv!! he estado probando sobre lo que me dijistes, y me funciona a la perfeccion!!

me he ahorrado un buen trozo de codigo multiplicando x2... jajaja

saludos y muchisimas gracias!!

ferranWEB
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 02:29.