Foros del Web » Programando para Internet » PHP »

como listo estos registros mysql

Estas en el tema de como listo estos registros mysql en el foro de PHP en Foros del Web. tengo una BD con los siguientes registros campo1 campo2 pepe 22 pepe 23 pepe 25 juan 10 juan 11 juan 12 jose 50 jose 52 ...
  #1 (permalink)  
Antiguo 25/07/2005, 11:43
 
Fecha de Ingreso: junio-2005
Mensajes: 29
Antigüedad: 18 años, 10 meses
Puntos: 0
como listo estos registros mysql

tengo una BD con los siguientes registros
campo1 campo2
pepe 22
pepe 23
pepe 25

juan 10
juan 11
juan 12

jose 50
jose 52
jose 45

Necesito listarlos así

pepe
22
23
23

juan
10
11
12

jose
50
52
45

Si en la Query pongo un group by campo1 y luego en php
Código PHP:
do{
echo(
$row_Nombre['campo2']."<br>");
}
while (
$row_Nombre mysql_fetch_assoc($Nombre));
          
?> 
Solo me lista los primeros valores de campo2 agrupados por el campo 1 osea

22
10
50

Gracias
  #2 (permalink)  
Antiguo 25/07/2005, 15:17
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
hazlo con: order by campo1,campo2 sin usar group by.
  #3 (permalink)  
Antiguo 26/07/2005, 04:35
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
¿pero y cuál, EXÁCTAMENTE, es la query?, ¿cuál es la estructura de la BD??.

Te servirá hacer 2 consultas, una dentro de otra:
Código PHP:
$personasmysql_query("SELECT ... "); // aquí optendrás pepe, juan y jose
while($row1mysql_fetch_assoc($personas)) {
     echo 
$row['campo_nombre']."<br>"// or lo que sea
     
$numerosmysql_query("SELECT campos FROM tabla WHERE campo_nombre='".$row1['campo_nombre']."'"); // buscas individualmente
     
while($row2mysql_fetch_assoc($numeros)) {
          echo 
$row2['numero']."<br>"// entonces corresponde a cada nombre
     
}
     echo 
"<br>";

En general...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 26/07/2005, 06:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Puedes usar una variable tipo "acomulador" para saber cuando "cambia" el valor del campo "nombre" para hacer tu representación de esos datos ..

El "truco" está primeramente en hacer una consulta SQL tal que ordenes por ese campo "nombre" (el que va a hacer las "agrupaciones" de cierta manera):

Código PHP:
$sql="SELECT * FROM tabla ORDER BY campo_que_corresponda"
Luego .. a la hora de recorrer el resultado de tu consulta SQL .. vas comparando si el valor que tiene tu campo "que agrupa" ha cambiado para "imprimir" su valor .. o no para no imprimirlo:

Código PHP:
// conectas a tu BD .. seleccionas la BD .. etc ...
$sql="SELECT * FROM tabla ORDER BY campo_que_corresponda";
$resultado=mysql_query($sql);
$nombre=''// inicio variable "acomulador";
while ($registro=mysql_fetch_array($resultado)){
  if (
$registro['nombre'] != $nombre){
      echo 
$registro['nombre']."<br>"// si es diferente el "nombre" que estamos leyendo del resultado al que "teníamos" .. lo imprimo.
  
}
       echo 
$registro['otros_campos']."<br>";
       
$nombre=$registro['nombre']; // me guardo el nombre para compararlo luego.

Un saludo,
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




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