Página 1 de 1

controlar la salida de PHP en pagina personalizada

Publicado: 29 Feb 2012, 15:20
por micasamitelefono
despues de solucionar un pequeño problema para introducir una consulta a una db externa en una página personalizada, ahora me surge alguna que otra duda con el formateo y estas cosas

el caso es que he metido dicha consulta en una página personalizada pero la salida no es del todo correcta.

el archivo php es tal se muestrra

Código: Seleccionar todo

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

page_header('Marcas de Progresivos');

//vamo a ver si funciona
$conexion = mysql_connect("miserver", "miuser", "mipass");
mysql_select_db("Sql272503_2", $conexion);
$consultasid = "SELECT sid FROM oo_jos_sobipro_field_option_selected WHERE optValue = 'Essilor'";
$resultadosid = mysql_query($consultasid);
$num_resultadossid = mysql_num_rows($resultadosid);
for ($y = 0; $y < $num_resultadossid; $y++)
{
	$filassid = mysql_fetch_array($resultadosid);

	$consultafid = "SELECT baseData FROM oo_jos_sobipro_field_data WHERE sid = '" . $filassid["sid"] . "' AND fid = '51'";
	$resultadofid = mysql_query($consultafid);
	$filasfid = mysql_fetch_array($resultadofid);

	$template->assign_block_vars('resultados', array(
		'SID' => $filassid["sid"],
		'BASEDATA' => $filasfid["baseData"],
	));
}
//volvemos a la db de phpbb3
mysql_close();
$template->set_filenames(array(
	'body' => 'marcas_progresivos.html',
));

make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
y el html es así

Código: Seleccionar todo

<!-- INCLUDE overall_header.html -->



    <h2>Mi P&aacute;gina</h2>

    <div class="panel">
       <div class="inner"><span class="corners-top"><span></span></span>

       <div class="content">
          <!-- BEGIN resultados -->

	
		<ul><li><a target="_blank" href="http://www.opticos-optometristas.com/index.php?option=com_sobipro&pid=65&sid={resultados.SID}&Itemid=196" ><img src="http://www.opticos-optometristas.com/images/sobipro/entries/{resultados.SID}/img_1.jpg" /></a></li></ul>
			
	
<!-- END resultados -->
	
	

       </div>

       <span class="corners-bottom"><span></span></span></div>
    </div>

    <!-- INCLUDE jumpbox.html -->
    <!-- INCLUDE overall_footer.html -->
evidentemente mi idea es hacer una lista y que cada línea se meta en un item de la lista, lo que sucede en realidad es que aparece una lista por resultado

se puede ver aqui

http://www.opticos-optometristas.com/fo ... esivos.php

Re: controlar la salida de PHP en pagina personalizada

Publicado: 29 Feb 2012, 15:55
por Alorse
Es porque tienes el <ul> dentro del BEGIN y por eso se crean nuevas listas en vez de nuevos items, el código html debe quedar de la siguiente manera:

Código: Seleccionar todo

<!-- INCLUDE overall_header.html -->
<h2>Mi P&aacute;gina</h2>

<div class="panel">
    <div class="inner"><span class="corners-top"><span></span></span>
	<div class="content">
	    <ul>
		<!-- BEGIN resultados -->
		<li><a target="_blank" href="http://www.opticos-optometristas.com/index.php?option=com_sobipro&pid=65&sid={resultados.SID}&Itemid=196" ><img src="http://www.opticos-optometristas.com/images/sobipro/entries/{resultados.SID}/img_1.jpg" /></a></li>
		<!-- END resultados -->
	    </ul>
	</div>
	<span class="corners-bottom"><span></span></span>
    </div>
</div>

<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->

Re: controlar la salida de PHP en pagina personalizada

Publicado: 29 Feb 2012, 16:03
por micasamitelefono
ok, entiendo que ese begin resultados sale de aquí

Código: Seleccionar todo

$template->assign_block_vars('resultados', array(
¿verdad?

otra cosa

todo esto que he hecho es para una marca, Essilor, supongamos que tengo otras 3 marcas (que igual mas adelante son mas) marca2, marca3, marca4

que me recomiendas para sacar todos esos resultados, reutilizar el codigo actual o copiarlo 3 veces cambiando la marca y el bloque

Código: Seleccionar todo

$template->assign_block_vars('resultados', array(
		'SID' => $filassid["sid"],
		'BASEDATA' => $filasfid["baseData"],
poniendo por ejemplo resultados2, resultados3, resultados4

no se si me explico, pero es que teniendo poco conicimiento de programacion, el lenguaje es del mismo nivel :cry:

Re: controlar la salida de PHP en pagina personalizada

Publicado: 29 Feb 2012, 16:11
por Alorse
micasamitelefono escribió:ok, entiendo que ese begin resultados sale de aquí
Si.
micasamitelefono escribió:otra cosa
Todo depende, si estan en la misma base de datos no lo veo necesario, se puede hacer dentro del mismo assign_block_vars(), pero si son bases de datos diferentes es mejor hacerlo 1 por cada base de datos.

Por favor no mezcles dudas, una sola por tema o listadas todas en el primer mensaje.

Re: controlar la salida de PHP en pagina personalizada

Publicado: 29 Feb 2012, 16:18
por micasamitelefono
muchas gracias

están en la misma tabla lo único que variaria seria esta linea

Código: Seleccionar todo

$consultasid = "SELECT sid FROM oo_jos_sobipro_field_option_selected WHERE optValue = 'Essilor'";
que pasaría a ser

Código: Seleccionar todo

$consultasid = "SELECT sid FROM oo_jos_sobipro_field_option_selected WHERE optValue = 'marca2'";
como se replantea la situación?

Re: controlar la salida de PHP en pagina personalizada  Tema Solucionado

Publicado: 29 Feb 2012, 16:28
por Alorse
Voy a responder a esta duda, pero si tienes más relacionadas, debes hacerlo en un nuevo tema, ya que lo que te voy a responder, nada tiene que ver con el problema que planteaste el principio.
Creí que te referias a la consulta que esta dentro del for() y es la que esta fuera, entonces si debes copiar y pegar el código nuevamente, no vale hacerlo dentro del mismo for().
Obviamente debes cambiar el nombre a todas las variables $php.

Re: controlar la salida de PHP en pagina personalizada

Publicado: 29 Feb 2012, 16:40
por micasamitelefono
mil gracias