Foros del Web » Programando para Internet » PHP »

Include de misma pagina varias veces pero con datos diferente.

Estas en el tema de Include de misma pagina varias veces pero con datos diferente. en el foro de PHP en Foros del Web. Hola tengo, una consulta, cuando hago un include, funciona perfecto, pero la idea es pasarle parametros a este include para que la pagina que inserta ...
  #1 (permalink)  
Antiguo 11/02/2011, 13:40
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 0
Include de misma pagina varias veces pero con datos diferente.

Hola tengo, una consulta, cuando hago un include, funciona perfecto, pero la idea es pasarle parametros a este include para que la pagina que inserta muestre los datos de un registro de la consulta.
El tema es que lo que hago se ejecuta solo 1 vez, la idea seria que se ejecute varias veces. y muestre la misma pagina varias veces seguida por cada valor de la consulta.
y poder imprimir todas de una sola, vez.

Gracias.


esto es parte del codigo.

Código PHP:
Ver original
  1. while($fetch = mysql_fetch_assoc($result))
  2. { include(boleta.php');
  3.  
  4. }
  #2 (permalink)  
Antiguo 11/02/2011, 14:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Include de misma pagina varias veces pero con datos diferente.

la idea es que en boleta.php tan solo imprimas las variables que necesitas, y antes de hacer el include claramente debes definirlas...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 11/02/2011, 15:18
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 0
Respuesta: Include de misma pagina varias veces pero con datos diferente.

claro, pero como hago para qe se repita el diseño, imagenes, formato, codigo de barras, etc, que tiene boleta.php, que en realidad trae todos los datos cuando se le pasa, un id.
  #4 (permalink)  
Antiguo 11/02/2011, 15:20
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 0
Respuesta: Include de misma pagina varias veces pero con datos diferente.

o sea la idea es tener una lista de boletas, en una misma pagina, asi uso.
un salto de pagina para ordenarlas, y mandar a imprimir directamente y salgan las 100 boletas juntas x ej.
  #5 (permalink)  
Antiguo 11/02/2011, 15:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Include de misma pagina varias veces pero con datos diferente.

Cita:
Iniciado por Leogl Ver Mensaje
claro, pero como hago para qe se repita el diseño, imagenes, formato, codigo de barras, etc, que tiene boleta.php, que en realidad trae todos los datos cuando se le pasa, un id.
¿de verdad no has hecho la prueba?

porque en realidad es algo muy básico, si el include tiene HTML se conserva y se respeta... es mas, se incluye en el contexto del bucle...

claro que, boleta.php no debes ser un documento HTML completo, solo la parte que deseas repetir...

si respetas y comprendes dichos detalles seguro te irá bien...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 11/02/2011, 15:38
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 0
Respuesta: Include de misma pagina varias veces pero con datos diferente.

mira lo que ise yo, tengo dos archivos boleta1.php y boleta2.php el primero tiene el siguiente codigo

Código PHP:
Ver original
  1. <?php
  2. ?>
  3.  
  4. <?php
  5. ////LISTADO DE CONCEPTOS INSERTADOS//////////////////////////////////////////////////////
  6. error_reporting(E_ERROR);
  7. include ('../conectar.php');
  8. if (!($conexion = '$conectar'))
  9. {die("No se puede conectar");}
  10. mysql_query ("SET NAMES 'utf8'");
  11. //if (!mysql_create_db("modificar"))
  12. // {die("no se puede crear la base de datos");}
  13. if (!mysql_select_db($dbbase))
  14. {die("no se puede seleccionar la base de datos");}
  15.  
  16. //conulta las tablas, trae codigo y busca nombres.---$query = "select * from detalleboletas where idboleta= '".$_SESSION["idboleta"]."'";
  17. $query = "SELECT * FROM boletas where fechapago='2011-02-07'";
  18. $result = mysql_query($query) or die(mysql_error());
  19.  
  20. ///datos encabezados
  21.   while($fetch = mysql_fetch_assoc($result))
  22. {
  23. echo "<tr><td><font size=1>".$fetch["fechapago"]."</td><td><font size=2>".$fetch["descripcion"]."</td><td><p style='text-align:center'</p><font size=1>".$fetch["cantidad"]."</font></td></center><td><font size=1>".$fetch["importe"]."</font></a></td></tr> \n";
  24. include ('boletaestandar2.php');
  25.  
  26. /// aqui seria la idea pasarle el id o algo, al include, para que cargue la boleta. ya con eso datos, y repetiria el paso hasta que cargue todos los id, de la consulta.
  27.  
  28. }
  29.  
  30.  
  31.  
  32.  
  33.  
  34. ?>

el segundo, tiene imagenes, tablas, y consultas sql, que cargan por ej los ocnceptos.
Las tablas estan en estructura html, y el insert de la imagen tambien,

ahora tu dices que si hago todo x php , funcionaria? o sea qe boletas2.php sea solo codigo php y nada de html?
  #7 (permalink)  
Antiguo 11/02/2011, 15:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Include de misma pagina varias veces pero con datos diferente.

no, yo digo que simplemente debes tratar a boleta2.php como cualquier otro script... puedes mezclar php y html, sin problemas!!

al final no hay diferencia entre scripts de php, deberías leer el manual para que te quede claro:
http://php.net/include
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 11/02/2011, 16:05
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 0
Respuesta: Include de misma pagina varias veces pero con datos diferente.

haber, yo puedo perfectamente, inmprimir una seguilla de boletas de a una. los datos cargan perfecto, pero el tema es cuando yo quiero es meter en una misma pagina, muchas boletas. seguidas. y no me funciona, o sea me hace el include perfectamente, y se para. evidentemente el include, me corta el bucle de la primer consulta.

por ej, si yo a la consulta esa que esta ahi, le saco el include, me arroja todos los resultados, uno abajo del otro.
pero, si pongo el include me muestra el primero, y luego se corta. o sea no repite los include
  #9 (permalink)  
Antiguo 11/02/2011, 16:13
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: Include de misma pagina varias veces pero con datos diferente.

Escribí este script, es un sistema de plantilla bastante sencillo, utiliza una plantilla HTML en vez de PHP para separar la programación de la maquetación.

Utilice una colección para simular una demostración, pero estoy seguro de que sera fácil adaptarlo a su proyecto. ;D

Nota: en la plantilla se usan {MAYÚSCULAS} para evitar colisiones.

plantilla_boleta.html
Código HTML:
Ver original
  1. <!--  Fila {ID} -->
  2. <div id="fila-{ID}" class="fila">
  3.     <h3>{TITULO}</h3>
  4.     <div class="content">
  5.             {CONTENIDO}
  6.     </div>
  7. </div>
  8. <!--  /Fila {ID} -->

boletas.php
Código PHP:
Ver original
  1. <?php
  2. /**
  3.  * Sistema basico de plantillas
  4.  *
  5.  */
  6. function plantilla_boleta($variable){
  7.    
  8.     // Este paso lo hacemos para convertir en mayusculas las keys de las variables
  9.     // para que coincidan con las variables de la plantilla.   
  10.     $variable = array_change_key_case($variable, CASE_UPPER);
  11.    
  12.     // Cargamos nuestra plantilla
  13.     $plantilla = file_get_contents('plantilla_boleta.html');
  14.    
  15.     // Reemplazamos las variables
  16.     foreach($variable as $var=>$value){
  17.         $plantilla = str_replace('{'.$var.'}', $value, $plantilla);
  18.     }
  19.    
  20.     // Regresarmos la plantilla con las variables asignadas
  21.        
  22.     // TODO: no entiendo este bug, si no funciona reemplazar por
  23.             /* eval('?>'.$plantilla.'<?') */
  24.     return eval('?>'.$plantilla);
  25. }
  26.  
  27. // Coleccion de valores para simular una consulta a la base de datos
  28. // TODO: reemplazar por una consulta a la base de datos.
  29.  
  30. $coleccion[0]['id'] = 1;
  31. $coleccion[0]['titulo'] = 'boleta 1';
  32. $coleccion[0]['contenido'] = 'contenido 1';
  33.  
  34. $coleccion[1]['id'] = 2;
  35. $coleccion[1]['titulo'] = 'boleta 2';
  36. $coleccion[1]['contenido'] = 'contenido 2';
  37.  
  38. $coleccion[2]['id'] = 3;
  39. $coleccion[2]['titulo'] = 'boleta 3';
  40. $coleccion[2]['contenido'] = 'contenido 3';
  41.  
  42.  
  43. // Recogemos los valores para maquetarlos
  44. foreach ($coleccion as $boleta){
  45.     print plantilla_boleta($boleta);   
  46. }
  47.  
  48. ?>

Última edición por jonasanx; 11/02/2011 a las 16:19
  #10 (permalink)  
Antiguo 11/02/2011, 16:24
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: Include de misma pagina varias veces pero con datos diferente.

Cita:
Iniciado por pateketrueke Ver Mensaje
no, yo digo que simplemente debes tratar a boleta2.php como cualquier otro script... puedes mezclar php y html, sin problemas!!

al final no hay diferencia entre scripts de php, deberías leer el manual para que te quede claro:
http://php.net/include
Cierto que se pueden mezclar sin problemas, PERO NO DEBERÍAN!

Hay que separar el trabajo del diseñador, con el del programador.

nota: se me olvido que el argumento de plantilla_boleta() debe ser un array plantilla_boleta($variable = array());
  #11 (permalink)  
Antiguo 12/02/2011, 05:02
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 0
Respuesta: Include de misma pagina varias veces pero con datos diferente.

voy a probar que onda, con esto, una prueba rapida, parece que resulta, voy a probar adaptando a lo que necesito!
luego de probar comento, gracias !
  #12 (permalink)  
Antiguo 12/02/2011, 06:00
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 0
Respuesta: Include de misma pagina varias veces pero con datos diferente.

bueno jona sanx, lo que me pasaste efectivamente funciona, hago una consulta, y le paso los parametros a
Código PHP:
Ver original
  1. $coleccion[0]['id'] = $fetch["id"];
y alla en la plantilla html, ise todo el diseño de la boleta, y levanto el id, con
Código PHP:
Ver original
  1. $idbola2 = {ID}
, y me trae los datos perfecto.
Pero estoy un poco bobo hoy y no me doy cuenta, de como hacer para que me repita esta parte de codigo,

Código PHP:
Ver original
  1. $coleccion[0]['id'] = $fetch["id"];
  2. $coleccion[0]['titulo'] = $fetch["area"];
  3. $coleccion[0]['contenido'] = $fetch["estado"];
varias veces, o sea segun la cantidad de registros encontrados. ya que en tu ejemplo lo haces 3 veces, y me muestra perfecto 3 boletas distintas, pero la idea es que eso sea automatico. o sea segun la cantidad de registros que arroje la consulta.
Gracias totales , para ambos.

Última edición por Leogl; 12/02/2011 a las 06:27
  #13 (permalink)  
Antiguo 12/02/2011, 06:44
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 0
Respuesta: Include de misma pagina varias veces pero con datos diferente.

probe con un while cambiando el valor de la colection, y funca. alguna otra manera mejor, ?
  #14 (permalink)  
Antiguo 12/02/2011, 13:13
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: Include de misma pagina varias veces pero con datos diferente.

Otro ejemplo, esta vez usando la base de datos.

Código HTML:
Ver original
  1. <!--  Fila {ID} -->
  2. <div id="fila-{ID}" class="fila">
  3.     <h3>{AREA}</h3>
  4.     <div class="content">
  5.      {ESTADO}
  6.     </div>
  7. </div>
  8. <!--  /Fila {ID} -->

Código PHP:
Ver original
  1. // Consulta a la base de datos.
  2. $conexion = mysql_connect('localhost', 'root','');
  3. mysql_select_db('boletas', $conexion);
  4. $query = mysql_query("SELECT id, area, estado FROM boletas");
  5.  
  6. print plantilla_boleta(mysql_fetch_assoc($query));
  #15 (permalink)  
Antiguo 28/02/2011, 12:20
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 0
Respuesta: Include de misma pagina varias veces pero con datos diferente.

Cita:
Iniciado por jonasanx Ver Mensaje
Otro ejemplo, esta vez usando la base de datos.

Código HTML:
Ver original
  1. <!--  Fila {ID} -->
  2. <div id="fila-{ID}" class="fila">
  3.     <h3>{AREA}</h3>
  4.     <div class="content">
  5.      {ESTADO}
  6.     </div>
  7. </div>
  8. <!--  /Fila {ID} -->

Código PHP:
Ver original
  1. // Consulta a la base de datos.
  2. $conexion = mysql_connect('localhost', 'root','');
  3. mysql_select_db('boletas', $conexion);
  4. $query = mysql_query("SELECT id, area, estado FROM boletas");
  5.  
  6. print plantilla_boleta(mysql_fetch_assoc($query));


pero me da error esto que tu haces, puedes explicarlo mejor?

Etiquetas: diferente, include
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 11:36.