<?php
require ('db/config.php');
$query_1 = "SELECT senderid FROM messages GROUP BY senderid";
$ris_1=mysql_query($query_1);
$senderid=array();
while($riga_1=mysql_fetch_array($ris_1)){
$senderid[]=$riga_1['senderid'];
}
//abbino a quel senreid i suoi revicerid
$abbinamento=array();
//ciclo i senderid cercando l'abbinamento
foreach($senderid as $id_sen){
//estraggo i reltivi valori dei revicerid
$query_2="SELECT revicerid FROM messagese WHERE senderid=$id_sen GROUP BY revicerid";//da verificare se funzia
$ris_2=mysql_query($query_2);
while($riga_2=mysql_fetch_array($ris_2)){
$abbinamento[$id_sen][]=$riga_2['revicerid'];//a ogni sender abbino i suoi rev
}
}
//cilo abbinamento per trovare l'ultimo tempo
$ultimo=array();
foreach($senderid as $id_sen){
foreach($abbinamento[$id_sen] as $id_rev){
$query_3="SELECT time FROM messages WHERE senderid =$id_sen AND revicerid=$id_rev ORDER BY time LIMIT 1";
$ris_3=mysql_query($query_3);
$riga_3=mysql_fetch_array($ris_3);
$ultimo['$id_sen']['$id_rev']=$riga_3['time'];
}
}
//proviamo ad estrarre i messaggi
foreach($ultimo as $id_sen => $valore){//$valore è un arrai $valore[revicerid] i cui valori sono gli ultimi tempi
//conviene verificare che $valore sia un array
if(is_array($valore)){
foreach($valore as $id_rev => $tempo){
$query_4="SELECT * FROM messages WHERE senderid =$id_sen AND revicerid=$id_rev AND time=$tempo";
$ris_4=mysql_query($query_4);
$riga_4=mysql_fetch_array($ris_4);
$id=$riga_4['id'];
$da=$riga_4['senderid'];
$per=$riga_4['revicerid'];
$messaggio=$riga_4['message'];
$letto=$riga_4['check'];
if($letto==0){
$letto="<br />messaggio NON letto<br /><br />";
}else{
$letto="<br />messaggio letto<br /><br />";
}
$data=date("d-m-Y H:i:s",$riga_4['id']);
//a questo punto (spero) di aver tirato fuori tutti i dati necessari
echo "messaggio $id<br />";
echo "inviato da $id per $per in data $data<br />"
echo $messaggio;
echo $letto;
}
}
}
?>