Página 1 de 1

Crear html (.php) con listado de los últimos post + enlace

Publicado: 08 Abr 2013, 22:24
por sodark86
Hola a todos

La idea es crear un listado de topics como se puede ver en forochicas.com , que es algo "simple" y permite de un vistazo ver donde se han producido los ultimos post, etc.

Lo primero que he realizado ha sido crear una VIEW en el servidor MySQL

CREATE OR REPLACE VIEW lastPost AS SELECT `phpbb_topics`.`topic_id`, `phpbb_topics`.`topic_title`, `phpbb_topics`.`topic_last_poster_name` FROM phpbb_topics ORDER BY `phpbb_topics`.`topic_last_post_time` DESC

De manera que eso me devuelve los datos de la siguiente forma
Spoiler
Imagen
Hasta aquí no hay problema, me monto un php con conexion a mysql y saco la consulta por pantalla. El problema es que no se como generar el enlace a ese tema con la url amigable. Se que puedo hacerlo simplemente sacando el numero del topic y poniendo http://urlforo.com/viewtopicXX.html donde XX es el numero de tema.

Por ejemplo para el tema 27 la url que tiene es url/presentacion-un-poco-tarde-t27.html

A ver si me podeis echar un cable. Los datos de soporte los podeis ver en la firma, he de decir que he quitado el SID con el phpBB SEO

Re: Crear html (.php) con listado de los últimos post + enla

Publicado: 11 Abr 2013, 11:18
por sodark86
Nadie¿

Edit: Bueno a ver, he seguido un tutorial que he encontrado en estos mismos foros.

http://www.phpbb-es.com/biblioteca/kb_show.php?id=25

Creo en la raiz el archivo php con el primer codigo (spy-updater.php) .

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('Spy [ los ultimos post comentados ]');

	$template->set_filenames(array(
		'body' => 'spy.php',
	));

	make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
	page_footer();
	?>
Realizo la plantilla para mostrar los datos, pero en vez de html la hago php (spy.php) para poder sacar datos actualizados de la base de datos.

Actualmente mi archivo spy.php tiene el siguiente codigo

Código: Seleccionar todo

<!-- INCLUDE overall_header.html -->

    <h2>Que hay de nuevo?</h2>

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

       <div class="content">
	   
       
       <table align="center" cellpadding="5px">
        	<?php
				/*
				Script para mostrar el listado de datos.
				Ultima revision: 09/04/2013	
				*/

				// Conectamos con la base de datos.
				require_once("./config.php");  // Se usa la ruta de la raiz porque al usar el spy-updater.php que esta en la raiz junto a config.php
				$con=mysql_connect($dbhost,$dbuser,$dbpasswd);
				mysql_select_db($dbname);
				$sqlLastPost = mysql_query("SELECT * FROM lastPost LIMIT 30", $con); // Seleccionamos los datos de la vista.
				
				if ($con) {
					print "Todo way";
				} else {
					print "Fallo: ".mysql_error();
				}
				while ( $rowLastPost = mysql_fetch_array($sqlLastPost) ) {
			?>
                    <tr>
						<td style="padding-left: 10px; padding-bottom: 5px; padding-right: 10px;"><?php print "<a href='viewtopic".$rowLastPost['topic_id'].".html'><strong>".utf8_encode($rowLastPost['topic_title'])."</strong></a>" ?></td>
                    </tr>
            <?php
				}
			?>
        </table>

       </div>

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

<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->
Limpio la cache y voy al navegador y ejecuto miforo.com/spy-updater.php y dentro de la tabla deberia haber por lo menos unas 25 lineas (temas actualmente).

Incluso desde ssh he ejecutado

php spy-updater.php > data.txt

y el archivo data.txt obviamente no contiene ningun error, pero tampoco contiene los datos (esto es el extracto de la parte que deberia salir, si quereis ver el data.txt entero os dejo la ruta http://elrincondelsado.com/data.txt )

Código: Seleccionar todo

    <h2>Que hay de nuevo?</h2>

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

       <div class="content">
	   
       
       <table align="center" cellpadding="5px">
        	
                        <tr>
                            <td style="padding-left: 10px; padding-bottom: 5px; padding-right: 10px;"></td>
                        </tr>
			            
        </table>

       </div>

       <span class="corners-bottom"><span></span></span></div>
    </div>
Podeis explicarme un poquillo que estoy haciendo mal? He probado incluso de usar el objeto db que usa el foro para hacer la db->sql_query, pero claro, aqui me da error de que no tiene el objeto.

Re: Crear html (.php) con listado de los últimos post + enla

Publicado: 07 Jun 2013, 22:52
por sodark86
Despues de 2 meses ninguna respuesta por parte de ningun admin ni de nadie del soporte de PHPBB3 que gran comunidad.

Se que lo haceis gratis y por lo tanto no se puede exigir, pero almenos una respuesta de mirate esto que por aqui van los tiros, etc... pero bueno ya se sabe, es mejor ir directamente a la web del "fabricante" que a refritos que lo unico que hacen es ponerse la etiqueta de somos tal...

Enfin, saludos señores, voy a ver si almenos en el foro de phpbb me saben aunque sea decir un camino a seguir. Espero que su actitud algun dia cambie y por lo menos se dignen a contestar algo.