Foros del Web » Programando para Internet » PHP »

Ordenar array y agrupar comentarios

Estas en el tema de Ordenar array y agrupar comentarios en el foro de PHP en Foros del Web. escenario: JuanSuperFotos muestra varias fotos en un album y los usuarios dejan comentarios. JuanSuperFotos quiere ver los comentarios en RENGLONES de cada foto SIN REPETIR ...
  #1 (permalink)  
Antiguo 16/06/2009, 16:08
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Pregunta Ordenar array y agrupar comentarios

escenario:
JuanSuperFotos muestra varias fotos en un album y los usuarios dejan comentarios.
JuanSuperFotos quiere ver los comentarios en RENGLONES de cada foto SIN REPETIR la imagen de la foto.
La BD me dá este array y me partí la cabeza con tratar de ordenar y agrupar y no puedo solo. si alguien me ayuda , le estaré muy agradecido.

Código PHP:
Array
(
    [
0] => Array
        (
            [
0] => 9
            
[qa_id] => 9
            
[1] => 100555
            
[foto_id] => 100555
            
[2] => 9
            
[topicq_id] => 9
            
[3] => 100002
            
[senderq_id] => 100002
            
[4] => 100001
            
[receiverq_id] => 100001
            
[5] => 0
            
[isq_read] => 0
            
[6] => esa manzana esta madura y tiene buena sombra
            
[messageq_content] => esa manzana esta madura y tiene buena sombra
            
[7] => 
            [
messagea_content] => 
            [
8] => JuanSuperfotos
            
[receiverq_username] => JuanSuperfotos
            
[9] => 1243977010
            
[regq_date] => 1243977010
            
[10] => 0
            
[rega_date] => 0
            
[11] => MANZANITA EN LA PLAZA
            
[qtitulo] => MANZANITA EN LA PLAZA
        
)

    [
1] => Array
        (
            [
0] => 8
            
[qa_id] => 8
            
[1] => 100555
            
[foto_id] => 100555
            
[2] => 8
            
[topicq_id] => 8
            
[3] => 100002
            
[senderq_id] => 100002
            
[4] => 100001
            
[receiverq_id] => 100001
            
[5] => 0
            
[isq_read] => 0
            
[6] => el plato podria ser blanco en vez de verde
            
[messageq_content] => el plato podria ser blanco en vez de verde
            
[7] => 
            [
messagea_content] => 
            [
8] => JuanSuperfotos
            
[receiverq_username] => JuanSuperfotos
            
[9] => 1243974483
            
[regq_date] => 1243974483
            
[10] => 0
            
[rega_date] => 0
            
[11] => MANZANITA EN LA PLAZA
            
[qtitulo] => MANZANITA EN LA PLAZA
        
)

    [
2] => Array
        (
            [
0] => 7
            
[qa_id] => 7
            
[1] => 100777
            
[foto_id] => 100777
            
[2] => 7
            
[topicq_id] => 7
            
[3] => 100002
            
[senderq_id] => 100002
            
[4] => 100001
            
[receiverq_id] => 100001
            
[5] => 0
            
[isq_read] => 0
            
[6] => peras y unvasno estaría mejor ?
            [
messageq_content] => peras y uvasno estaría mejor ?
            [
7] => 
            [
messagea_content] => 
            [
8] => JuanSuperfotos
            
[receiverq_username] => JuanSuperfotos
            
[9] => 1243974310
            
[regq_date] => 1243974310
            
[10] => 0
            
[rega_date] => 0
            
[11] => PERAS EN CAJONES
            
[qtitulo] => PERAS EN CAJONES
        
)

    [
3] => Array
        (
            [
0] => 6
            
[qa_id] => 6
            
[1] => 100555
            
[foto_id] => 100555
            
[2] => 6
            
[topicq_id] => 6
            
[3] => 100002
            
[senderq_id] => 100002
            
[4] => 100001
            
[receiverq_id] => 100001
            
[5] => 0
            
[isq_read] => 0
            
[6] =>  y si le pones un filtro en rojo ?
            [
messageq_content] => y si le pones un filtro en rojo ?
            [
7] => 
            [
messagea_content] => 
            [
8] => JuanSuperfotos
            
[receiverq_username] => JuanSuperfotos
            
[9] => 1243974187
            
[regq_date] => 1243974187
            
[10] => 0
            
[rega_date] => 0
            
[11] => MANZANITA EN LA PLAZA
            
[qtitulo] => MANZANITA EN LA PLAZA
        
)

    [
4] => Array
        (
            [
0] => 5
            
[qa_id] => 5
            
[1] => 100555
            
[foto_id] => 100555
            
[2] => 5
            
[topicq_id] => 5
            
[3] => 100002
            
[senderq_id] => 100002
            
[4] => 100001
            
[receiverq_id] => 100001
            
[5] => 0
            
[isq_read] => 0
            
[6] => de donde sacaste esa manzana?
            [
messageq_content] => de donde sacaste esa manzana?
            [
7] => 
            [
messagea_content] => 
            [
8] => JuanSuperfotos
            
[receiverq_username] => JuanSuperfotos
            
[9] => 1243970969
            
[regq_date] => 1243970969
            
[10] => 0
            
[rega_date] => 0
            
[11] => MANZANITA EN LA PLAZA
            
[qtitulo] => MANZANITA EN LA PLAZA
        
)

    [
5] => Array
        (
            [
0] => 4
            
[qa_id] => 4
            
[1] => 100777
            
[foto_id] => 100777
            
[2] => 4
            
[topicq_id] => 4
            
[3] => 100002
            
[senderq_id] => 100002
            
[4] => 100001
            
[receiverq_id] => 100001
            
[5] => 0
            
[isq_read] => 0
            
[6] => subila sobre la escalera
            
[messageq_content] => subila sobre la escalera
            
[7] => 
            [
messagea_content] => 
            [
8] => JuanSuperfotos
            
[receiverq_username] => JuanSuperfotos
            
[9] => 1243970794
            
[regq_date] => 1243970794
            
[10] => 0
            
[rega_date] => 0
            
[11] => PERAS EN CAJONES
            
[qtitulo] => PERAS EN CAJONES
        
)

    [
6] => Array
        (
            [
0] => 3
            
[qa_id] => 3
            
[1] => 100555
            
[foto_id] => 100555
            
[2] => 3
            
[topicq_id] => 3
            
[3] => 100002
            
[senderq_id] => 100002
            
[4] => 100001
            
[receiverq_id] => 100001
            
[5] => 0
            
[isq_read] => 0
            
[6] => a mi parecer tiene mucho brillo
            
[messageq_content] => a mi parecer tiene mucho brillo
            
[7] => 
            [
messagea_content] => 
            [
8] => JuanSuperfotos
            
[receiverq_username] => JuanSuperfotos
            
[9] => 1243970690
            
[regq_date] => 1243970690
            
[10] => 0
            
[rega_date] => 0
            
[11] => MANZANITA EN LA PLAZA
            
[qtitulo] => MANZANITA EN LA PLAZA
        
)

    [
7] => Array
        (
            [
0] => 1
            
[qa_id] => 1
            
[1] => 100777
            
[foto_id] => 100777
            
[2] => 2
            
[topicq_id] => 2
            
[3] => 100002
            
[senderq_id] => 100002
            
[4] => 100001
            
[receiverq_id] => 100001
            
[5] => 0
            
[isq_read] => 0
            
[6] => y sile das mas foco que te parece?
            [
messageq_content] => y sile das mas foco que te parece?
            [
7] => 
            [
messagea_content] => 
            [
8] => JuanSuperfotos
            
[receiverq_username] => JuanSuperfotos
            
[9] => 1243970091
            
[regq_date] => 1243970091
            
[10] => 0
            
[rega_date] => 0
            
[11] => PERAS EN CAJONES
            
[qtitulo] => PERAS EN CAJONES
        
)

    [
8] => Array
        (
            [
0] => 2
            
[qa_id] => 2
            
[1] => 100555
            
[foto_id] => 100555
            
[2] => 1
            
[topicq_id] => 1
            
[3] => 100002
            
[senderq_id] => 100002
            
[4] => 100001
            
[receiverq_id] => 100001
            
[5] => 0
            
[isq_read] => 0
            
[6] => probaste con un gran angular de foco 1:2?
            [
messageq_content] => probaste con un gran angular de foco 1:2?
            [
7] => 
            [
messagea_content] => 
            [
8] => JuanSuperfotos
            
[receiverq_username] => JuanSuperfotos
            
[9] => 1243911176
            
[regq_date] => 1243911176
            
[10] => 0
            
[rega_date] => 0
            
[11] => MANZANITA EN LA PLAZA
            
[qtitulo] => MANZANITA EN LA PLAZA
        
)


mostrar 1 sola foto sin repetir y todos sus correspondientes comentarios en renglones
Ejemplo:

foto_id 100555 [qtitulo] "MANZANITA EN LA PLAZA"
[messageq_content] "esa manzana esta madura y tiene buena sombra"
[messageq_content] "el plato podria ser blanco en vez de verde"
[messageq_content] "y si le pones un filtro en rojo ?"
[messageq_content] "de donde sacaste esa manzana?"
[messageq_content] "a mi parecer tiene mucho brillo"
[messageq_content] "probaste con un gran angular de foco 1:2?"

foto_id 100777 [qtitulo] "PERAS EN CAJONES"
[messageq_content] "peras y uvas, no estaría mejor ?"
[messageq_content] "subila sobre la escalera"
[messageq_content] "y sile das mas foco , que te parece?"

.
Gracias
  #2 (permalink)  
Antiguo 16/06/2009, 19:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar array y agrupar comentarios

Habria que hacerlo con un foreach, ¿pero para poder hacerlo de casualidad el array no te lo imprimio con comillas? Es que mijo esta dificil trabajar con un array que la parte que se supone que es comentario o titulo salga sin comillas.
  #3 (permalink)  
Antiguo 16/06/2009, 19:30
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ordenar array y agrupar comentarios

Cita:
La BD me dá este array y me partí la cabeza con tratar de ordenar y agrupar y no puedo solo. si alguien me ayuda , le estaré muy agradecido.
¿Porque no haces que te de los comentarios agrupados desde la misma consulta?
  #4 (permalink)  
Antiguo 17/06/2009, 00:42
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Respuesta: Ordenar array y agrupar comentarios

Cita:
Iniciado por Ronruby Ver Mensaje
¿Porque no haces que te de los comentarios agrupados desde la misma consulta?
Porque he tratado y no he podido ya que he usado GROUP BY y me arroja 1 solo resultado y al poster este problema en el foro MySq nadie me ha respondido,
Esta es la query:
Código PHP:
$sql_com=$db->query("SELECT qa_id,foto_id,topicq_id,senderq_id,receiverq_id,
isq_read,messageq_content,messagea_content,
receiverq_username,regq_date,rega_date,qtitulo
FROM "
.DB_PREFIX."comentarios 
WHERE senderq_id='"
.$session->value('user_id')."' 
AND receiverq_deleted=0
ORDER BY foto_id,regq_date "
.$order_type." LIMIT 0,20 "); 
-
Cita:
Iniciado por abimaelrc Ver Mensaje
¿pero para poder hacerlo de casualidad el array no te lo imprimio con comillas?
Esta es la sentencia que usé para ver, y no ha puesto comillas
Código PHP:
(array)$elmt=null;
while(
$elementos=$db->fetch_array($sql_com)){$elmt[]=$elementos;}
      echo 
'<pre>';
      
print_r($elmt);
      echo 
'</pre>'
?
  #5 (permalink)  
Antiguo 17/06/2009, 08:35
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar array y agrupar comentarios

Pues tenemos un problema para poder leer el array. Trata a ver si te funciona

foreach($elmt as $k => $v){
echo $k . " = " . $v."<br />";
}

Me dejas saber
  #6 (permalink)  
Antiguo 17/06/2009, 08:39
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Ordenar array y agrupar comentarios

El problema no esta en el Array, si no en la consulta SQL, Haz que la consulta te devuelva lo que necesitas así te evitarás tener que tratar los datos.

Con una sola consulta SQL tendrías todo solucionado. Pasate por el foro de Bases de datos para que te asesoren.

Saludos!
  #7 (permalink)  
Antiguo 17/06/2009, 08:41
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Respuesta: Ordenar array y agrupar comentarios

Cita:
Iniciado por abimaelrc Ver Mensaje
Pues tenemos un problema para poder leer el array. Trata a ver si te funciona

foreach($elmt as $k => $v){
echo $k . " = " . $v."<br />";
}

Me dejas saber
Muestra esto:
Código PHP:
= Array
= Array
= Array
= Array
= Array
= Array
= Array
= Array
= Array 
?
  #8 (permalink)  
Antiguo 17/06/2009, 08:46
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar array y agrupar comentarios

Código PHP:
foreach($elmt as $k => $v){
  foreach(
$v as $kk => $vv){
    echo 
$kk " = " $vv "<br />";
  }

  #9 (permalink)  
Antiguo 17/06/2009, 08:49
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Respuesta: Ordenar array y agrupar comentarios

Cita:
Iniciado por Synkronice Ver Mensaje
El problema no esta en el Array, si no en la consulta SQL, Haz que la consulta te devuelva lo que necesitas así te evitarás tener que tratar los datos.

Con una sola consulta SQL tendrías todo solucionado. Pasate por el foro de Bases de datos para que te asesoren.

Saludos!
Acomodar la query talvez ayude, igualmente me devolveria 'elementos' y 'ahí' estaria repetido el 'foto_id' que tendría que filtrar con PHP.
He posteado este problema (mirandolo desde MySql) hece 1 semana y nadie me ha respondido.
Me han dicho ->
Cita:
Depende de como lo hagas pero el mismo bucle de lectura de los datos puede hacer lo que necesitas...

Pero si es cosa de php.
LINK-> forosdelweb.com/f86/agrupar-comentarios-respuesta-x-foto-706594/#post2948221
  #10 (permalink)  
Antiguo 17/06/2009, 09:03
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Ordenar array y agrupar comentarios

Si tienes 20 registros, de los cuales 10 son diez comentarios de una foto y los otros 10 de otra puedo controlar con PHP en que foto me encuentro, y cuando esta cambie pues maquetar la nueva foto con sus comentarios.

Mientras haya registros...
Si foto_actual no es igual foto_anterior
foto_anterior = foto_actual
empiezo nuevo bloque foto
Fin Si

Si foto_actual == foto_anterior
pinto los comentarios de esta foto y lo que yo quiera.
Fin Si
Fin Mientras
  #11 (permalink)  
Antiguo 17/06/2009, 09:29
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Respuesta: Ordenar array y agrupar comentarios

@abimaelrc
He agregado un salto de linea para que sea mas legible
use :
Código PHP:
foreach($elmt as $k => $v){
  foreach(
$v as $kk => $vv){
    echo 
$kk " = " $vv "<br />";
  }
  echo 
'<br>';

y mostró esto:
Código PHP:
9
qa_id 
9
100555
foto_id 
100555
9
topicq_id 
9
100002
senderq_id 
100002
100001
receiverq_id 
100001
0
isq_read 
0
esa manzana esta madura y tiene buena sombra
messageq_content 
esa manzana esta madura y tiene buena sombra
=
messagea_content =
JuanSuperFotos
receiverq_username 
JuanSuperFotos
1243977010
regq_date 
1243977010
10 
0
rega_date 
0
11 
MANZANITA EN LA PLAZA
qtitulo 
MANZANITA EN LA PLAZA

8
qa_id 
8
100555
foto_id 
100555
8
topicq_id 
8
100002
senderq_id 
100002
100001
receiverq_id 
100001
0
isq_read 
0
el plato podria ser blanco en vez de verde
messageq_content 
el plato podria ser blanco en vez de verde
=
messagea_content =
JuanSuperFotos
receiverq_username 
JuanSuperFotos
1243974483
regq_date 
1243974483
10 
0
rega_date 
0
11 
MANZANITA EN LA PLAZA
qtitulo 
MANZANITA EN LA PLAZA

6
qa_id 
6
100555
foto_id 
100555
6
topicq_id 
6
100002
senderq_id 
100002
100001
receiverq_id 
100001
0
isq_read 
0
y si le pones un filtro en rojo ?
messageq_content y si le pones un filtro en rojo ?
=
messagea_content =
JuanSuperFotos
receiverq_username 
JuanSuperFotos
1243974187
regq_date 
1243974187
10 
0
rega_date 
0
11 
MANZANITA EN LA PLAZA
qtitulo 
MANZANITA EN LA PLAZA

5
qa_id 
5
100555
foto_id 
100555
5
topicq_id 
5
100002
senderq_id 
100002
100001
receiverq_id 
100001
0
isq_read 
0
de donde sacaste esa manzana?
messageq_content de donde sacaste esa manzana?
=
messagea_content =
JuanSuperFotos
receiverq_username 
JuanSuperFotos
1243970969
regq_date 
1243970969
10 
0
rega_date 
0
11 
MANZANITA EN LA PLAZA
qtitulo 
MANZANITA EN LA PLAZA

3
qa_id 
3
100555
foto_id 
100555
3
topicq_id 
3
100002
senderq_id 
100002
100001
receiverq_id 
100001
0
isq_read 
0
a mi parecer tiene mucho brillo
messageq_content 
a mi parecer tiene mucho brillo
=
messagea_content =
JuanSuperFotos
receiverq_username 
JuanSuperFotos
1243970690
regq_date 
1243970690
10 
0
rega_date 
0
11 
MANZANITA EN LA PLAZA
qtitulo 
MANZANITA EN LA PLAZA

2
qa_id 
2
100555
foto_id 
100555
1
topicq_id 
1
100002
senderq_id 
100002
100001
receiverq_id 
100001
0
isq_read 
0
probaste con un gran angular de foco 1:2?
messageq_content probaste con un gran angular de foco 1:2?
=
messagea_content =
JuanSuperFotos
receiverq_username 
JuanSuperFotos
1243911176
regq_date 
1243911176
10 
0
rega_date 
0
11 
MANZANITA EN LA PLAZA
qtitulo 
MANZANITA EN LA PLAZA

7
qa_id 
7
100777
foto_id 
100777
7
topicq_id 
7
100002
senderq_id 
100002
100001
receiverq_id 
100001
0
isq_read 
0
peras y unvasno estaría mejor ?
messageq_content peras y unvasno estaría mejor ?
=
messagea_content =
JuanSuperFotos
receiverq_username 
JuanSuperFotos
1243974310
regq_date 
1243974310
10 
0
rega_date 
0
11 
PERAS EN CAJONES
qtitulo 
PERAS EN CAJONES

4
qa_id 
4
100777
foto_id 
100777
4
topicq_id 
4
100002
senderq_id 
100002
100001
receiverq_id 
100001
0
isq_read 
0
subila sobre la escalera
messageq_content 
subila sobre la escalera
=
messagea_content =
JuanSuperFotos
receiverq_username 
JuanSuperFotos
1243970794
regq_date 
1243970794
10 
0
rega_date 
0
11 
PERAS EN CAJONES
qtitulo 
PERAS EN CAJONES

1
qa_id 
1
100777
foto_id 
100777
2
topicq_id 
2
100002
senderq_id 
100002
100001
receiverq_id 
100001
0
isq_read 
0
y sile das mas foco que te parece?
messageq_content y sile das mas foco que te parece?
=
messagea_content =
JuanSuperFotos
receiverq_username 
JuanSuperFotos
1243970091
regq_date 
1243970091
10 
0
rega_date 
0
11 
PERAS EN CAJONES
qtitulo 
PERAS EN CAJONES 
  #12 (permalink)  
Antiguo 17/06/2009, 09:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar array y agrupar comentarios

ahora puedes jugar con el foreach verifica creando variables ejemplo

Código PHP:
foreach($elmt as $k => $v){ 
  foreach(
$v as $kk => $vv){ 
    if(
$kk == "foto_id"){
      
$vv_id $vv;
    }
    if(
$kk == "messageq_content"){
      
$vv_m $vv;
    }
    if(
$kk == "receiverq_username"){
      
$vv_u $vv;
    }
    
//etc etc etc
    
echo $kk " = " $vv "<br />"
  }
  if(
$vv_id != $vv_id2){
    
$vv_id2 $vv;
    
//echo nuevo material de las variables mencionada arriba
  
}else{
    
//concatena y sigue añadiendo.  Llama las variables que mencione arriba concatenando lo que ya tienes aqui
  
}
  echo 
'<br>'

  #13 (permalink)  
Antiguo 17/06/2009, 09:43
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Respuesta: Ordenar array y agrupar comentarios

@Synkronice
Exacto eso es lo que quiero hacer, pero no he podido ya no me dá mi conocimiento y he venido aquí en busca de ayuda.
Ten presente que serán muchas fotos talvez 100 o 500 (luego de un tiempo se borraran los 'comentarios' para no recargar la base y hacer gigante el array).
  #14 (permalink)  
Antiguo 17/06/2009, 09:46
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Ordenar array y agrupar comentarios

Facilitame la estructura de las tablas implicadas y pasame la query o querys que usas.
  #15 (permalink)  
Antiguo 17/06/2009, 09:49
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Respuesta: Ordenar array y agrupar comentarios

@abimaelrc
Cita:
//echo nuevo material de las variables mencionada arriba
//concatena y sigue añadiendo. Llama las variables que mencione arriba concatenando lo que ya tienes aqui
No mihijo, tu pides PERAS AL OLMO ?.... no me dá el valero para eso, se vé que el ordenamieto y banderas es complicado para alguien de mi conocimiento.
si puedes ser mas completo en la respuesta y descripción de pasos dentro de las sentencias , me guiará bastante .
  #16 (permalink)  
Antiguo 17/06/2009, 09:55
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar array y agrupar comentarios

jajaja Ok mijo mira

Código PHP:
foreach($elmt as $k => $v){ 
  foreach(
$v as $kk => $vv){ 
    if(
$kk == "foto_id"){
      
$vv_id $vv;
    }
    if(
$kk == "messageq_content"){
      
$vv_m $vv;
    }
    if(
$kk == "receiverq_username"){
      
$vv_u $vv;
    }
    
//etc etc etc
  
}
  if(
$vv_id != $vv_id2){
    
$vv_id2 $vv;
    echo 
"<br /><br />" $vv_id "<br />";
    echo 
$vv_u "<br />";
    echo 
$vv_m "<br />";
  }else{
    echo 
$vv_m "<br />";
  }


Última edición por abimaelrc; 17/06/2009 a las 11:02
  #17 (permalink)  
Antiguo 17/06/2009, 10:08
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Respuesta: Ordenar array y agrupar comentarios

@abimaelrc estas cerca!!
pero es lo mismo que usar el simple WHILE y las llaves , no es lo que necesito
ha mostrado :
Cita:
100555
JuanSuperFotos
esa manzana esta madura y tiene buena sombra

100555
JuanSuperFotos
el plato podria ser blanco en vez de verde

100555
JuanSuperFotos
y si le pones un filtro en rojo ?

100555
JuanSuperFotos
de donde sacaste esa manzana?

100555
JuanSuperFotos
a mi parecer tiene mucho brillo

100555
JuanSuperFotos
probaste con un gran angular de foco 1:2?

100777
JuanSuperFotos
peras y unvas, no estaría mejor ?

100777
JuanSuperFotos
subila sobre la escalera

100777
JuanSuperFotos
y sile das mas foco , que te parece?
falta que agrupe asi
foto N , ['receiverq_username']
'[messageq_content'] xxx xxx x x x
'[messageq_content'] xxx xxx x x x
'[messageq_content'] xxx xxx x x x


foto NNN , ['receiverq_username']
'[messageq_content'] xxx xxx x x x
'[messageq_content'] xxx xxx x x x
'[messageq_content'] xxx xxx x x x

Falta que agrupe sin repetir foto_id ,qtitulo, receiverq_username

Última edición por zx9; 17/06/2009 a las 10:35
  #18 (permalink)  
Antiguo 17/06/2009, 10:31
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Ordenar array y agrupar comentarios

Hola zx9,

estuve revisando lo que me pasaste por el privado y lo tienes facil, pero necesito saber que es $sql_comentarios, un array? un objeto?...

saludos!
  #19 (permalink)  
Antiguo 17/06/2009, 10:37
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Respuesta: Ordenar array y agrupar comentarios

Cita:
Iniciado por Synkronice Ver Mensaje
Hola zx9,

estuve revisando lo que me pasaste por el privado y lo tienes facil, pero necesito saber que es $sql_comentarios, un array? un objeto?...

saludos!
es el array que recibe los datos de la querry, te he pasado , la tabla c/datos y la query que utilizo para extreer , asi de una sola lectrua de tabla tengo TODO y luego ordeno y agrupo con PHP, si encuentras como mejorar la query la acepto también
  #20 (permalink)  
Antiguo 17/06/2009, 11:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar array y agrupar comentarios

Código PHP:
foreach($elmt as $k => $v){ 
  foreach(
$v as $kk => $vv){ 
    if(
$kk == "foto_id"){
      
$vv_id $vv;
    }
    if(
$kk == "messageq_content"){
      
$vv_m $vv;
    }
    if(
$kk == "receiverq_username"){
      
$vv_u $vv;
    }
    
//etc etc etc
  
}
  if(
$vv_id != $vv_id2){
    
$vv_id2 $vv_id;
    echo 
"<br /><br />" $vv_id "<br />";
    echo 
$vv_u "<br />";
    echo 
$vv_m "<br />";
  }else{
    echo 
$vv_m "<br />";
  }

Fue un error. Se me olvido escribir

$vv_id2 = $vv;

debe ser

$vv_id2 = $vv_id;

trata ahora con eso
  #21 (permalink)  
Antiguo 17/06/2009, 11:13
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Respuesta: Ordenar array y agrupar comentarios

@abimaelrc
SEEEEEE papá!!! Perfect!
Cita:
100555
JuanSuperFotos
esa manzana esta madura y tiene buena sombra
el plato podria ser blanco en vez de verde
y si le pones un filtro en rojo ?
de donde sacaste esa manzana?
a mi parecer tiene mucho brillo
probaste con un gran angular de foco 1:2?

100777
JuanSuperFotos
peras y unvas, no estaría mejor ?
subila sobre la escalera
y sile das mas foco , que te parece?
deacuerdo a lo que ha mostrado , es lo que necesito , voy a implementarlo en mi script.
Voy a hacer ordenamientos por fecha (regq_date o talves rega_date) y por usuario que escribió y usuario quien recibe, si algo me comienza a complicar nuevamente pediré ayda.
'abimaelrc' gracias.

-
@Synkronice
sigo a la espera de tu respuesta ya que también me servirá , pues tocaras o mejoraras la query o me darás otro punto de enfoque en la solución , cosa me me es valido para implementarlo y mejorar el script y (desasnarme), quedo a espera.
  #22 (permalink)  
Antiguo 17/06/2009, 11:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar array y agrupar comentarios

¿Eso es un tipo de chat?
  #23 (permalink)  
Antiguo 17/06/2009, 11:16
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Ordenar array y agrupar comentarios

En cuanto a la query no hay nada que aportar ya que yo pensaba que recogias datos de la tabla fotos.

No he agregado nada mas ya que nuestro compañero abimaelrc te estaba ayudando.

Saludos!
  #24 (permalink)  
Antiguo 17/06/2009, 11:38
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Respuesta: Ordenar array y agrupar comentarios

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Eso es un tipo de chat?
No un album de fotos donde USERS ponen fotos y reciben comentarios de otros USERS.
cada 'dueño de foto' quiere ver los comentarios que les dejaron en cada foto y para verlos va a su 'panel' y vé cada foto suya (sin repetir la foto) y los comentarios en renglones.
pero yo solo lograba los 'renglones' con la imagen repetida (osea el simple 'while'), encambio ahora tengo lo que necesitaba.

FOTO n
comentario, "x x x x" - USER
comentario, "xccx xcx" - USER
comentario, "xdxd cxcx" - USER

FOTO nn
comentario, "xxx xxx" - USER
comentario, "xxxxxx xx" - USER
comentario, "xxxx x x"' - USER

Tambien el 'dueño' quiere o no responder (tengo que terminar esa parte) a cada comentario individual.
y quedaría asi:

FOTO n
comentario,x x x x - USER ; resp "rerer er er er"
comentario,xccx xcx' - USER ; resp "trtr rt "
comentario, xdxd cxcx' - USER ; resp " "

FOTO nn
comentario,x x x x - USER ; resp "rerer er er er"
comentario,xccx xcx' - USER ; resp " "
comentario, xdxd cxcx' - USER ; resp "wer rwwe "
----
TODO, comentario y respuesta se guarda en UNA sola tabla, en ROW´s, cada ROW tiene el comentario y su respuesta (si el dueño quiso responder),
y leo los cometarios usando '[foto_id'], ordenaría por '[foto_id'] y/o fecha de escritura (['regq_date']) del comentario.
espero haber podido responder tu pregunta.
Saludos y gracias muchas!
.
  #25 (permalink)  
Antiguo 17/06/2009, 11:41
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ordenar array y agrupar comentarios

mi sugerencia es que aprendas bien a hacer query te va a facilitar y vas a tener mejor performance ;) pero debes aprender y luego aplicar. No apliques mientras aprendes.
  #26 (permalink)  
Antiguo 17/06/2009, 11:42
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Respuesta: Ordenar array y agrupar comentarios

Cita:
Iniciado por Synkronice Ver Mensaje
En cuanto a la query no hay nada que aportar ya que yo pensaba que recogias datos de la tabla fotos.

No he agregado nada mas ya que nuestro compañero abimaelrc te estaba ayudando.

Saludos!
Ok
igualmente te agradezco el que me hallas brindado tu tiempo para ayudarme;.

Si se me complica algo , vuelvo por 'este hilo' o abro nuevo.

Gracias
  #27 (permalink)  
Antiguo 17/06/2009, 11:51
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Respuesta: Ordenar array y agrupar comentarios

Cita:
Iniciado por abimaelrc Ver Mensaje
mi sugerencia es que aprendas bien a hacer query te va a facilitar y vas a tener mejor performance ;) pero debes aprender y luego aplicar. No apliques mientras aprendes.
TOTALMENTE DEACUERDO y hago, solo que por cuestiones de TIEMPO y falta de dinero, voy haciendo 20 cosas la mimo tiempo.
Aprender PHP , MysQL, Apache, PHPed, Netbeans, Eclipse, Zend Framwork, Anti-Hacking.
Marketing, Administracion de Empresas, Finanzas e Inversiones, Leo la Biblia y trato de estar con Dios.
Estoy (Minimo) 18hs por dia sentado frente al PC (aprendiendo,programando y diseñando y aveces llorando) y no salgo ni a la calle , nisiquiera al café con mis amigos.

Saludos MUCHAS GRACIAS POR AYUDARME . (veré como sale esto.)
  #28 (permalink)  
Antiguo 17/06/2009, 21:07
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ordenar array y agrupar comentarios

¿Estas seguro que agrupando por foto_id no funciona? Debería. No traigas datos que no necesites de la base de datos.

En todo caso, para mayor manejo de lo que esta en el array seria bueno que tuvieras la siguiente estructura:

[foto_id] = array('comentario1', 'comentario2', 'comentario3');

Tambien puedes si lo deseas en vez de comentario puedes poner un array asociativo con los demas datos (como quien lo escribió, etc).
  #29 (permalink)  
Antiguo 18/06/2009, 05:19
zx9
 
Fecha de Ingreso: noviembre-2006
Mensajes: 29
Antigüedad: 17 años, 5 meses
Puntos: 2
Respuesta: Ordenar array y agrupar comentarios

Cita:
Iniciado por Ronruby Ver Mensaje
.....Tambien puedes si lo deseas en vez de comentario puedes poner un array asociativo con los demas datos (como quien lo escribió, etc).
Esto que escribes , está arriba escrito por mi, es lo que voy a implementar.

Cita:
... No traigas datos que no necesites de la base de datos....
Exacto, la base está diseñada con 'solo lo justo y necesario' y en esta query 'extraigo' solo lo que necesito. Cada comentario tendrá 'x' dias de vida. luego será borrado,(usare un 'cron.php')


Cita:
En todo caso, para mayor manejo de lo que esta en el array seria bueno que tuvieras la siguiente estructura:
[foto_id] = array('comentario1', 'comentario2', 'comentario3');
Exacto, dame un ejemplo, escribeme el code que tu usarías.

Cita:
..¿Estas seguro que agrupando por foto_id no funciona? Debería....
Al menos 'mis' pruebas con 'GROUP BY', no,... siempre me retornaba '1 solo elemento' (1 un array) .
Pero talvés tu sepas hacerlo funcionar.
Aquí también escribeme el code que tu usarías. y pruevo.

?

Última edición por zx9; 18/06/2009 a las 05:27
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 18:41.