Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Página personalizada con consulta SQLTema Solucionado

Soporte de MODs para phpBB 3.0.x
Dudas sobre AutoMOD aquí por favor.
micasamitelefono
Miembro
Mensajes: 442
Registrado: 25 Ago 2007, 21:25

Página personalizada con consulta SQL

#1

Mensaje por micasamitelefono »

antes de nada decir que no se si este es el mejor lugar para esta cuestión, si no lo es, lo siento y por favor que algún moderador lo mueva al lugar adecuado

bueno pues ahí va.

quiero hacer una página personalizada que muestre ciertos datos que debo sacar de una consulta a una tabla de otra DB (las dos en el mismo server)

la página personalizaa, la tengo, la consulta y resultados tambien, lo que no se hacer es sacarlo por pantalla, me podeis orientar un poco, por favor?

URL: http://www.opticos-optometristas.com
Plantilla(s) usuada(s): Prosilver,
extensiones instalados: advanced BBcodebox, Cookie Policy, Google Adsense, Google analytics, Lightbox, Link Menu, Precise Similar Topics, Scroll to top, Share on , feed post bot
Versión de phpBB: 3.3.13 Servidor: Aruba (linux hosting) (arrepentido estoy)
Si es una actualización desde otra versión: NO
Si es una conversión desde otro tipo de Foro: NO


Avatar de Usuario
Makoto
Elite
Mensajes: 2929
Registrado: 10 Sep 2009, 23:44
Género:
Edad: 37

Re: Página personalizada con consulta SQL

#2

Mensaje por Makoto »

micasamitelefono escribió:la página personalizaa, la tengo, la consulta y resultados tambien
¡?¡? entonces cual es tu duda?
URL del foro: FIIS-UNAC
Versión phpBB: phpBB3 ( 3.1.5)
Extensiones Instaladas
SPOILER_SHOW
  • Add User 1.0.2
  • Auto Database Backup 1.1.0
  • Auto Groups 1.0.0
  • Avatars on Memberlist 1.0.3
  • Board Announcements 1.0.2
  • Board Rules 1.0.1
  • cBB Chat 1.1.1
  • Fancy Lazy Topics loader 2.1.5
  • Genders 1.0.0
  • Last Post Avatar
  • Log failed logins
  • Rank Post Styling
  • Share On 1.0.0
  • SiteSplat BBCore 2.1.1
  • Sortables Captcha 2.0.0
  • Topic Author 1.0.1
  • Upload Extensions 3.1.2-beta2
Plantilla(s) usada(s):
  • FLATBOOTS 2.0.1
Servidor: Dattatec[/size]

micasamitelefono
Miembro
Mensajes: 442
Registrado: 25 Ago 2007, 21:25

Re: Página personalizada con consulta SQL

#3

Mensaje por micasamitelefono »

micasamitelefono escribió:lo que no se hacer es sacarlo por pantalla


pues eso, imprimir esos resultados en mi página personalizada

URL: http://www.opticos-optometristas.com
Plantilla(s) usuada(s): Prosilver,
extensiones instalados: advanced BBcodebox, Cookie Policy, Google Adsense, Google analytics, Lightbox, Link Menu, Precise Similar Topics, Scroll to top, Share on , feed post bot
Versión de phpBB: 3.3.13 Servidor: Aruba (linux hosting) (arrepentido estoy)
Si es una actualización desde otra versión: NO
Si es una conversión desde otro tipo de Foro: NO


Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 37

Re: Página personalizada con consulta SQL

#4

Mensaje por Alorse »

Debes pasar los resultados a variables del template...
Ejemplo:
Tienes una variable encargada de mostrar los resultados, por ejemplo $row, y para mostrar los resultado lo haces de la siguiente manera $row['dato1'], $row['dato2'], $row['dato3'], etc...
Entonces pones el siguiente código php luego de la consulta:

Código: Seleccionar todo

$template->assign_vars(array(
    'DATO_1' => $row['dato1'],
    'DATO_2' => $row['dato2'],
    'DATO_3' => $row['dato3'],
));
Y ya en el archivo .html de la pagina personalizada, llamas las variables de la siguiente manera:

Código: Seleccionar todo

Primero se va a mostrar el {DATO_1} luego el {DATO_2} y por último el {DATO_3}.
Espero haberme hecho entender.

micasamitelefono
Miembro
Mensajes: 442
Registrado: 25 Ago 2007, 21:25

Re: Página personalizada con consulta SQL

#5

Mensaje por micasamitelefono »

debo deciros que no tengo demasiada idea de mySQL, bueno del resto tampoco a decir verdad, pero me he hecho un código que funciona en PHP perfectamente, os lo voy a poner

Código: Seleccionar todo

<?
$consultasid="SELECT sid FROM oo_jos_sobipro_field_option_selected WHERE optValue = 'Essilor'";
$resultadosid=mysql_query($consultasid);
$num_resultadossid=mysql_num_rows($resultadosid);


echo "numero de filas ".$num_resultadossid;
	
	for ($y=0;$y<$num_resultadossid;$y++)
		{
			$filassid=mysql_fetch_array($resultadosid);
			echo "<br />";	
			echo "esta es la sid: ".$filassid["sid"];


$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);
echo ",  y este el nombre del progresivo ".$filasfid["baseData"]; 
echo "<br /><a target=\"_blank\" href=\"http://www.opticos-optometristas.com/index.php?option=com_sobipro&pid=65&sid=".$filassid["sid"]."&Itemid=196\" ><img src=\"http://www.opticos-optometristas.com/images/sobipro/entries/".$filassid["sid"]."/img_1.jpg\" ></a>";

}

?>
no he sabido hacer esto de mejor manera, pero me funciona y me vale

como podeis ver, además hay un loop porque se mostrarán varios resultados de una misma consulta, y además veis que en esta consulta salen resultados para una marca, que es Essilor, pero tendré al menos 5 marcas mas

como puedo traducirlo para meterlo en un página personalizada?

gracias de antemano

URL: http://www.opticos-optometristas.com
Plantilla(s) usuada(s): Prosilver,
extensiones instalados: advanced BBcodebox, Cookie Policy, Google Adsense, Google analytics, Lightbox, Link Menu, Precise Similar Topics, Scroll to top, Share on , feed post bot
Versión de phpBB: 3.3.13 Servidor: Aruba (linux hosting) (arrepentido estoy)
Si es una actualización desde otra versión: NO
Si es una conversión desde otro tipo de Foro: NO


Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 37

Re: Página personalizada con consulta SQL

#6

Mensaje por Alorse »

Creí que ya tenias hecha la pagina personalizada, primero créala y luego mete ese código en el archivo php de la pagina personalizada, nos lo muestras haber como te queda, para decirte como lo debes organizar.
Otra cosa que veo hace falta es que en ese código que nos pones, no veo la conexión a la base de datos, no sé si lo omitiste o que.

Avatar de Usuario
Makoto
Elite
Mensajes: 2929
Registrado: 10 Sep 2009, 23:44
Género:
Edad: 37

Re: Página personalizada con consulta SQL

#7

Mensaje por Makoto »

Código: Seleccionar todo

$template->assign_vars(array(
			'INFO'					=> $info,
			'INFO_2'	=> sprintf($user->lang['INFO_2'], $user_row['username']))
		);
	
		$template->set_filenames(array(
			'body' => 'mipagina.html')
		);
debe ser algo asi tu php
URL del foro: FIIS-UNAC
Versión phpBB: phpBB3 ( 3.1.5)
Extensiones Instaladas
SPOILER_SHOW
  • Add User 1.0.2
  • Auto Database Backup 1.1.0
  • Auto Groups 1.0.0
  • Avatars on Memberlist 1.0.3
  • Board Announcements 1.0.2
  • Board Rules 1.0.1
  • cBB Chat 1.1.1
  • Fancy Lazy Topics loader 2.1.5
  • Genders 1.0.0
  • Last Post Avatar
  • Log failed logins
  • Rank Post Styling
  • Share On 1.0.0
  • SiteSplat BBCore 2.1.1
  • Sortables Captcha 2.0.0
  • Topic Author 1.0.1
  • Upload Extensions 3.1.2-beta2
Plantilla(s) usada(s):
  • FLATBOOTS 2.0.1
Servidor: Dattatec[/size]

micasamitelefono
Miembro
Mensajes: 442
Registrado: 25 Ago 2007, 21:25

Re: Página personalizada con consulta SQL

#8

Mensaje por micasamitelefono »

perdón , sólo he puesto el código que primeramente diseñé para mostrar en PHP, el código de la página personalizada es este

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
	
//cambio de db porque phpbb está en la Sql272503_1 pero con iguales datos de conexion
mysql_select_db("Sql272503_2");
$consultasid="SELECT sid FROM oo_jos_sobipro_field_option_selected WHERE optValue = 'Essilor'";
$resultadosid=mysql_query($consultasid);
$num_resultadossid=mysql_num_rows($resultadosid);


	
			$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);

}

//volvemos a la db de phpbb3
mysql_select_db("Sql272503_1");

	
	
	
	$template->set_filenames(array(
		'body' => 'marcas_progresivos.html',
	));

	make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
	page_footer();
?>

y hasta aquí he llegado

URL: http://www.opticos-optometristas.com
Plantilla(s) usuada(s): Prosilver,
extensiones instalados: advanced BBcodebox, Cookie Policy, Google Adsense, Google analytics, Lightbox, Link Menu, Precise Similar Topics, Scroll to top, Share on , feed post bot
Versión de phpBB: 3.3.13 Servidor: Aruba (linux hosting) (arrepentido estoy)
Si es una actualización desde otra versión: NO
Si es una conversión desde otro tipo de Foro: NO


micasamitelefono
Miembro
Mensajes: 442
Registrado: 25 Ago 2007, 21:25

Re: Página personalizada con consulta SQL

#9

Mensaje por micasamitelefono »

estoy pensando que lo que falta es el código que muestra los resultados en PHP

os pongo entonces lo que tengo programado y funcionando en PHP

Código: Seleccionar todo

<?
$consultasid="SELECT sid FROM oo_jos_sobipro_field_option_selected WHERE optValue = 'Essilor'";
$resultadosid=mysql_query($consultasid);
$num_resultadossid=mysql_num_rows($resultadosid);


echo "numero de filas ".$num_resultadossid;
	
	for ($y=0;$y<$num_resultadossid;$y++)
		{
			$filassid=mysql_fetch_array($resultadosid);
			echo "<br />";	
			echo "esta es la sid: ".$filassid["sid"];


$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);
echo ",  y este el nombre del progresivo ".$filasfid["baseData"]; 
echo "<br /><a target=\"_blank\" href=\"http://www.opticos-optometristas.com/index.php?option=com_sobipro&pid=65&sid=".$filassid["sid"]."&Itemid=196\" ><img src=\"http://www.opticos-optometristas.com/images/sobipro/entries/".$filassid["sid"]."/img_1.jpg\" ></a>";

}

?>

URL: http://www.opticos-optometristas.com
Plantilla(s) usuada(s): Prosilver,
extensiones instalados: advanced BBcodebox, Cookie Policy, Google Adsense, Google analytics, Lightbox, Link Menu, Precise Similar Topics, Scroll to top, Share on , feed post bot
Versión de phpBB: 3.3.13 Servidor: Aruba (linux hosting) (arrepentido estoy)
Si es una actualización desde otra versión: NO
Si es una conversión desde otro tipo de Foro: NO


Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 37

Re: Página personalizada con consulta SQL  Tema Solucionado

#10

Mensaje por Alorse »

Inténtalo de esta manera:

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
//cambio de db porque phpbb está en la Sql272503_1 pero con iguales datos de conexion
mysql_select_db("Sql272503_2");
$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_select_db("Sql272503_1");

$template->set_filenames(array(
	'body' => 'marcas_progresivos.html',
));

make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
Y en el archivo marcas_progresivos.html pones:

Código: Seleccionar todo

<!-- BEGIN resultados -->
<br />
esta es la sid: {resultados.SID},  y este el nombre del progresivo {resultados.BASEDATA}<br />
<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>
<!-- END resultados -->
Ya el resto depende de ti, ya que yo no tengo las bases de datos para probarlo.
Eso si, por favor deja un enlace a la pagina personalizada que estas intentado crear.

micasamitelefono
Miembro
Mensajes: 442
Registrado: 25 Ago 2007, 21:25

Re: Página personalizada con consulta SQL

#11

Mensaje por micasamitelefono »

creo que no vale

mira, la url es esta

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


y digo yo, pero que yo te confirme que en una página php funciona correctamente, no te vale?
puedo darte una copia de la db, de esas dos tablas si quieres, de momento tiene pocas entradas


veo que en la parte superior se hace referencia a algún problema de DB, aclaro el tema

dispongo de 2 bases de datos con igual servidor/usuario/pass
la del foro phpbb es la Sql272503_1
y la que contiene las tablas con los datos que quiero extraer es la Sql272503_2
Última edición por micasamitelefono el 28 Feb 2012, 17:56, editado 2 veces en total.

URL: http://www.opticos-optometristas.com
Plantilla(s) usuada(s): Prosilver,
extensiones instalados: advanced BBcodebox, Cookie Policy, Google Adsense, Google analytics, Lightbox, Link Menu, Precise Similar Topics, Scroll to top, Share on , feed post bot
Versión de phpBB: 3.3.13 Servidor: Aruba (linux hosting) (arrepentido estoy)
Si es una actualización desde otra versión: NO
Si es una conversión desde otro tipo de Foro: NO


Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 37

Re: Página personalizada con consulta SQL

#12

Mensaje por Alorse »

Ya te lo había dicho, hace falta la conexión con la base de datos... por eso es el error.

micasamitelefono
Miembro
Mensajes: 442
Registrado: 25 Ago 2007, 21:25

Re: Página personalizada con consulta SQL

#13

Mensaje por micasamitelefono »

pero al ser la misma sesion no llega con cambiar de base de datos?

entonces en donde tengo

Código: Seleccionar todo

mysql_select_db("Sql272503_2");
pongo

Código: Seleccionar todo

$conexion = mysql_connect("miservidor", "usuario", "clave");
mysql_select_db("demo", $conexion);
y donde pongo

Código: Seleccionar todo

//volvemos a la db de phpbb3
mysql_select_db("Sql272503_1");
pongo

Código: Seleccionar todo

mysql_close();
?

URL: http://www.opticos-optometristas.com
Plantilla(s) usuada(s): Prosilver,
extensiones instalados: advanced BBcodebox, Cookie Policy, Google Adsense, Google analytics, Lightbox, Link Menu, Precise Similar Topics, Scroll to top, Share on , feed post bot
Versión de phpBB: 3.3.13 Servidor: Aruba (linux hosting) (arrepentido estoy)
Si es una actualización desde otra versión: NO
Si es una conversión desde otro tipo de Foro: NO


Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 37

Re: Página personalizada con consulta SQL

#14

Mensaje por Alorse »

la base de datos de phpBB, no la debes tocar para nada, no debes cambiar ni nada por el estilo, solo preocúpate por abrir y cerrar la otra cuando corresponda.

micasamitelefono
Miembro
Mensajes: 442
Registrado: 25 Ago 2007, 21:25

Re: Página personalizada con consulta SQL

#15

Mensaje por micasamitelefono »

WOW

efectivamente, ha funcionado, una preguntilla más.

el código ha quedado así

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
//cambio de db porque phpbb está en la Sql272503_1 pero con iguales datos de conexion
$conexion = mysql_connect("miservidor", "miusuario", "mipassword");
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();
?>
me pregunto si no sería mejor esconder el código referente a la conexion y hacer un include? para evitar tenerlo tan a la vista.

URL: http://www.opticos-optometristas.com
Plantilla(s) usuada(s): Prosilver,
extensiones instalados: advanced BBcodebox, Cookie Policy, Google Adsense, Google analytics, Lightbox, Link Menu, Precise Similar Topics, Scroll to top, Share on , feed post bot
Versión de phpBB: 3.3.13 Servidor: Aruba (linux hosting) (arrepentido estoy)
Si es una actualización desde otra versión: NO
Si es una conversión desde otro tipo de Foro: NO


Cerrado

Volver a “Soporte de MODs”