SoloCodigo
		Programación Web y Scripting => PHP => Mensaje iniciado por: sejote21 en Domingo 18 de Noviembre de 2007, 22:52
		
			
			- 
				hola a todos
 
 a ver
 
 el problema en concreto es que quiero paginar los temas y las consultas del foro
 
 la pagina principal tiene este codigo
 
 <?php
 require('configuracion.php');
 require('funciones.php ');
 include('header.html');
 aqui tenemos una parte que nos cuenta el numero de pagina segun las consultas introducidas
 
 if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
 $result = mysql_query("SELECT COUNT(*) FROM foro", $con);
 list($total) = mysql_fetch_row($result);
 $tampag = 3;
 $reg1 = ($pag-1) * $tampag;
 
 aqui tenemos una  consulta de seleccion de lo que queremos que nos muestre en pantalla
 /* Pedimos todos los temas iniciales (identificador==0)
 * y los ordenamos por ult_respuesta */
 $sql = "SELECT id, autor, titulo, fecha, respuestas, ult_respuesta ";
 $sql.= "FROM foro WHERE identificador=0 ORDER BY ult_respuesta DESC";
 $rs = mysql_query($sql, $con);
 
 Aqui tenemos otra consulta , es la misma que la anterior pero con los limites por pagina que queremos que nos aparezca. Realmente la anterior no nos hace falta
 pero me sirve de referencia.
 $result = mysql_query("SELECT id, autor, titulo, fecha, respuestas, ult_respuesta FROM foro WHERE identificador=0 ORDER BY ult_respuesta DESC LIMIT $reg1, $tampag", $con);
 
 He aqui donde tengo el problema
 Si aplico la variable $rs me muestra todos los resultos sin paginar ninguno
 pero si por lo contrario aplico la variable $result solo me muestra la primera cantidad de resultados, pero no la siguiente si pico en la pagina 2
 Si aplico en el primer if la variable $rs , igualmente solo me muestra los resultados de bucle While que hay mas abajo.
 es este trozo de codigo es donde aplico las diferentes plantillas y el while de $result lo hace bien, pero NO SE COMO HACER QUE APARENZCAN LAS OTRAS CONSULTAS EN LAS OTRAS PAGINAS.
 if(mysql_num_rows($result)>0)
 {
 // Leemos el contenido de la plantilla de temas
 $template = implode("", file("temas.html"));
 include('titulos.html');
 while($row = mysql_fetch_assoc($result))
 {
 $color=($color==""?"#fcce8e":"");
 $row["color"] = $color;
 mostrarTemplate($template, $row);
 
 }
 }
 
 Aqui llamamos a la funcion que nos muestra el resultado de las paginas (ejemplo <<1 2 3 >>)
 esto funciona bien
 echo paginar($pag, $total, $tampag, "indexforo.php?pag=");
 
 include(' footer.html');
 ?>