Ver Mensaje Individual
  #7 (permalink)  
Antiguo 23/08/2011, 11:56
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Definir como la paginacion tiene que mostrar los resultados

Lee la documentación de sprintf(), básicamente lo que hace es reemplazos por los parámetros de entrada, %s, para una cadena, %d, para números, etc. en la documentación te explica como se usa.

Ahora si lo quieres hacer por columnas múltiples yo lo modificaría así:
Código PHP:
Ver original
  1. function mostrar_resultados($template, array $columnas) {
  2.     $this->q = mysql_query($this->q); // La consulta
  3.  
  4.     while ($dato = mysql_fetch_assoc($this -> q)) {
  5.         $valores = array();
  6.         $valores[] = $template; // El primero siempre es el template
  7.         foreach ($columnas as $columna) { // Sustituimos las columnas por los valores
  8.                if (isset($dato[$columna)) $valores[] = $dato[$columna];
  9.         }
  10.         echo call_user_func_array('sprintf', $valores);
  11.     }
  12. }

Así lo podrías usar por ejemplo:
Código PHP:
Ver original
  1. $paginacion->mostrarResultados("<li>%s</li>", array("nombre"));
  2. // o
  3. $paginacion->mostrarResultados("<li>%s - %s</li>", array("nombre", "edad"));

Saludos.