Foros del Web » Programando para Internet » PHP »

Pasar líneas de código php entre páginas

Estas en el tema de Pasar líneas de código php entre páginas en el foro de PHP en Foros del Web. Hola, buenos días a todos. Un cordial saludo desde mi primer mensaje al foro. Me pregunto si es posible pasar lineas de código php desde ...
  #1 (permalink)  
Antiguo 30/12/2010, 08:09
 
Fecha de Ingreso: diciembre-2010
Ubicación: Huesca
Mensajes: 5
Antigüedad: 13 años, 2 meses
Puntos: 0
Pasar líneas de código php entre páginas

Hola, buenos días a todos.
Un cordial saludo desde mi primer mensaje al foro.

Me pregunto si es posible pasar lineas de código php desde una (o varias) página/s a otra.
Tengo por ejemplo, un trozo de codigo donde lleno varias columnas de una tabla:
echo "
<td>".$fila['campo1']."</td>
";
echo "
<td>".$fila['campo2']."</td>
";
echo "
<td>
<a href='detalle.php?num=".$fila['campo3']."' title='Detalle' target='_blank'>".$fila['campo4']."</a></td>
";
Tengo que escribir este codigo, o parecido, en varias páginas pero se debe ejecutar en otra (una página php que realizará el paginado del resultado).
Tengo el tema resuelto cuando envío a paginar campos en los que no hay hipervínculos, enviando, por un lado, en una variable de sesión, la consulta, en otra el encabezado de los campos, y en otra, el nombre de los campos, como un array) pero en casos como éste, donde en algunos campos puede haber (o no) hipervínculos, no encuentro la manera. Hay que tener en cuenta que en las diferentes páginas habrá diferente número y nombre de campos y que algunos, ninguno, o todos pueden tener hipervinculos.


¿Alguna sugerencia? Muchas gracias

Óscar
  #2 (permalink)  
Antiguo 30/12/2010, 12:51
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años
Puntos: 101
Respuesta: Pasar líneas de código php entre páginas

Hola, bienvenido.

Se hace un lio entender qué es lo que estas haciendo. Tu codigo sigue algun patron de diseño en particular, o es "lo que va saliendo". Digo, porque me da la sensación de que te estas enredando.

Usas ajax para paginar? Que información necesitas enviar y que necesitas recibir?

Yo sugiero que para pedir información uses GET y que el script que se ejecute por detras devuelva solo datos, no html. Es decir, desde la pagina1, se pide la pagina2 con variables GET. Se ejecuta tu consulta a base de datos y se prepara un array. Luego, con un bucle se imprime el array. Pero lo único de PHP presente en tu pagina html es el bucle para recorrer el array.
  #3 (permalink)  
Antiguo 31/12/2010, 03:31
 
Fecha de Ingreso: diciembre-2010
Ubicación: Huesca
Mensajes: 5
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Pasar líneas de código php entre páginas

Hola, buenos días:

Efectivamente uso Ajax, y el código que he escrito creo que tiene que ser éste, con html, ya que el resultado puede tener hipervínculos en algún campo.

Cuando no hay hipervínculos hago lo siguiente, en la página o páginas desde donde se va a preparar el código:

$_SESSION["strSQL"]= "SELECT CAMPO_1, CAMPO_2, ..., CAMPO_N FROM TABLA
WHERE CAMPO1='CONDICION'
ORDER BY CAMPO_X ";

$_SESSION["encabezadoTabla"]="
<th>CAMPO_1</th>
<th>CAMPO_2</th>
<th>CAMPO_N</th>";

$campo[0]='CAMPO_1';
$campo[1]='CAMPO_2';
$campo[2]='CAMPO_N';

$_SESSION["campos"]= $campo;

Tenemos un botón que comprueba las condiciones de un filtro y llama a una página ajax que realizará la presentación de los datos de 50 en 50 en un div de la página origen.

En la página que genera la presentación de los datos tenemos:

$strSQL=$_SESSION["strSQL"];
$matriz = $_SESSION["campos"];
$rs=mysql_query($strSQL);

//comenzamos a dibujar la tabla
echo "<table>";
echo "<tr>";
//Aquí ponemos los encabezados que nos ha pasado la página
echo $_SESSION["encabezadoTabla"];
echo "</tr>";
//comenzamos a llenar las filas
while($fila=mysql_fetch_array($rs)){
echo "<tr>";
//empezamos a llenar los campos de cada fila
for ($j = 0; $j< count($matriz); $j++){
$nomCampo=$matriz[$j];
echo "<td>$fila[$nomCampo]</td>";
} //fin del for
echo "</tr>";
} //fin del while
echo "</table>";

Ésto funciona perfectamente. El problema lo tengo cuando queremos que aparezcan hipérvinculos en los campos mostrados en la tabla.

En resumen Se trataría de pasar, en lugar de
$campo[0]='CAMPO_1';

pasar esto:
<a href='detalle.php?num=".$fila['campo_n']."' title='Detalle' target='_blank'>".$fila['campo1']."</a>

Pero no quiero pasar el valor de $fila['campo3'], sino $fila['campo3'] (como si dijéramos, por referencia en lugar de por valor)

Gracias

Etiquetas: pasar
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 23:56.