Foros del Web » Programando para Internet » PHP »

ordenar resultados de consulta en un <table>

Estas en el tema de ordenar resultados de consulta en un <table> en el foro de PHP en Foros del Web. hola, he hecho una consulta a mi base de datos para ke me extraiga los ultimos 5 posts enviados a un foro, la consulta funciona ...
  #1 (permalink)  
Antiguo 03/09/2005, 16:51
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 1 mes
Puntos: 4
ordenar resultados de consulta en un <table>

hola, he hecho una consulta a mi base de datos para ke me extraiga los ultimos 5 posts enviados a un foro, la consulta funciona perfecto, pero cuando lo kiero ordenar en un <table> me da un problema, ke al imprimir en pantalla la consulta solo aparecen los titulos y la primera fila ordenada en la tabla y el resto se keda al aire he tratado de ver en ke pueda estar fallando pero no encuentro solucion, mi codigo es este:

Código PHP:
<?
$mostrar 
5;
include(
'config.php');
$query "select * from foros order by fecha desc";
$resp mysql_query($query);
print 
"<table width=780 border=1>";
print 
"<tr><td>Categoría</td><td>Autor</td><td>Título</td></tr>";
while (
$datos mysql_fetch_array($resp)) { 
print 
"<tr><td>";
if (
$mostrar 0) { 
$fecha date("d/m/Y",$datos[fecha]);
$foroid $datos['id'];
$codigo $datos['idautor'];
$quien $datos['autor'];
$tema $datos['titulo'];
print 
"<b>$datos[categoria]</b>";
print 
"</td><td>";
echo 
"<a class='vinculo' title='ver perfil de $quien' href=perfil.php?id=$codigo>$quien</a>";
print 
"</td><td>";
echo 
"<a class='vinculo' title='Enviado el $fecha' href=foro.php?id=$foroid>$tema</a>";
print 
"</td></tr>"; }
print 
"<table>";
 
$mostrar--;
}
mysql_query($query);
?>
ojala alguien me pueda decir donde esta la falla pk lo ke es yo le doy mil vueltas y no doy, gracias de antemano

un saludo
  #2 (permalink)  
Antiguo 03/09/2005, 16:55
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 8 meses
Puntos: 4
q es la consulta que haces al final de todo??
  #3 (permalink)  
Antiguo 03/09/2005, 16:59
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 1 mes
Puntos: 4
juaz esa linea se me ha colado ahi, pero = la falla sigue
  #4 (permalink)  
Antiguo 03/09/2005, 18:07
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años
Puntos: 17
A ver si ahí está mejor...
Igual te recomiendo que en la consulta pongas un "LIMIT 5" al final. En caso de hacer eso, podés borrar el $mostrar y poner el while sin el IF adentro... además estás trayendo todos los registros, si existen 1.000.000 cargado va a tardar muchísimo sin sentido
Código PHP:
<? 
$mostrar 
5
include(
'config.php'); 
$query "select * from foros order by fecha desc"
$resp mysql_query($query); 
print 
"<table width=780 border=1>"
print 
"<tr><td>Categoría</td><td>Autor</td><td>Título</td></tr>"
while (
$datos mysql_fetch_array($resp)) { 
  if (
$mostrar 0) { 
    print 
"<tr><td>"
    
$fecha date("d/m/Y",$datos[fecha]); 
    
$foroid $datos['id']; 
    
$codigo $datos['idautor']; 
    
$quien $datos['autor']; 
    
$tema $datos['titulo']; 
    print 
"<b>$datos[categoria]</b>"
    print 
"</td><td>"
    echo 
"<a class='vinculo' title='ver perfil de $quien' href=perfil.php?id=$codigo>$quien</a>"
    print 
"</td><td>"
    echo 
"<a class='vinculo' title='Enviado el $fecha' href=foro.php?id=$foroid>$tema</a>"
    print 
"</td></tr>";
    
$mostrar--; 
  } else {
    print 
"</table>"
  }

?>
  #5 (permalink)  
Antiguo 03/09/2005, 18:52
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 1 mes
Puntos: 4
gracias por la ayuda, pero ya lo habia arreglado cambiando de ubicacion el if ($mostrar > 0) { para ponerlo antes del while y va bien, gracias nuevamente

saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:39.