Foros del Web » Programando para Internet » PHP »

Recoger varias filas de una base de datos MySQL

Estas en el tema de Recoger varias filas de una base de datos MySQL en el foro de PHP en Foros del Web. enas, vuelvo a molestaros xD. Esta vez es por un tema con MySQL y PHP. En un sistema de noticias que estoy creando, a la ...
  #1 (permalink)  
Antiguo 25/11/2007, 19:21
 
Fecha de Ingreso: noviembre-2007
Mensajes: 1
Antigüedad: 16 años, 4 meses
Puntos: 0
Recoger varias filas de una base de datos MySQL

enas, vuelvo a molestaros xD.
Esta vez es por un tema con MySQL y PHP.
En un sistema de noticias que estoy creando, a la hora de recoger las noticias. He creado la sentencia SQL que las recoge y que la ejecuta. Con esto, sabría mostrar en pantalla todas las filas que pueda selecionar mi consulta. El problema es que no las quiero mostrar en ese momento. Quiero almacenarlas todas de alguna manera.

Lo que había pensado por el momento es utilizar un while y trabajar con arrays (cada fila un número como key, además del de campo que ya tenga), pero no sé si habrá alguna cosa menos costosa (tanto a nivel de trabajo como de recursos) que me pueda servir.

El código que yo había pensado era este:
Código:
<?php
//
// Más código
//
$sql = "SELECT new_id, new_title, new_text, new_date, user_name, user_surname1, user_surname2, user_username FROM news JOIN users ON new_authorid=user_id GROUP BY $group $order LIMIT $start, $limit";
if (!mysql_query($sql)) {
    $error = 7;
    return $error;
}
if (0 < mysql_num_rows($sql)) {
    $error = 8;
    return $error;
}
$k = 0;
while ($row = mysql_fetch_assoc($sql)) {
    foreach ($row as $key => $value) {
        $result[$k][$key] = $value;
    }
    $k++;
}

return $result;
//
// Más código
// ?>
En los errores, 7 corresponde a que no se hizo el "mysql_query" y 8 a que no hay ningun resultado.

Gracias
  #2 (permalink)  
Antiguo 30/11/2007, 14:45
Avatar de lalogrosz  
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 339
Antigüedad: 21 años, 11 meses
Puntos: 6
Re: Recoger varias filas de una base de datos MySQL

Hola...
Mira, si lo queres hacer de esa manera, no tenes que hacer un foreach para cada campo de $row, ya que $row ya es un array y estas formando el mismo array. Directamente hace $result[$k] = $row

Por otro lado, por que no haces mejor la consulta en el momento que queres mostrar las noticias? No es necesario hacerlo en el top de la pagina.
Sino tambien lo que podes hacer es armar ahi mismo el html en vez de ponerlo en un array y luego en la parte donde quieras mostrarlo haces un print de la variable con el html acumulado.

Saludos.
__________________
"Vivir....solo cuesta Vida"
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 13:38.