• Home
  • Forum
  • Fare Web
  • PHP

Una query complicata da realizzare

  • Creatore Discussione Creatore Discussione danielloantonio
  • Data di inizio Data di inizio 20 Lug 2012
  • Tag Tag
    group by mysql query
Prec.
  • 1
  • 2
Primo Prec. 2 di 2

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 24 Lug 2012
  • #21
ciao
se non ho capito male:
se pinco ha scritto a sempronio (3 mess), sofonisba (8 mess) e pallino (2 mess) (tralasciamo provvisoriamente il chek) vorresti che saltasse fuori:

l'ultimo messaggio che:
pinco ha scritto a sempronio
pinco ha scritto a sofonisba
pinco ha scritto a pallino

è così?

p.s.
al posto di pinco ecc.. gli id
 
D

danielloantonio

Utente Attivo
20 Lug 2012
110
0
0
  • 24 Lug 2012
  • #22
Si... Praticamente in ordine devono essere visualizzati un messaggio per ognuno che scrive a pippo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 24 Lug 2012
  • #23
ciao
provo a vedere se mi viene qualche idea
 
D

danielloantonio

Utente Attivo
20 Lug 2012
110
0
0
  • 24 Lug 2012
  • #24
Si grazie per he non so davvero come uscirne
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 25 Lug 2012
  • #25
ciao
prova questo, però guarda che non l'ho testato, quindi ci possono essere errori di battitura, comunque eventualmente tolti non so se funzia
PHP:
<?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;
		}
	}
}
?>
sappimi dire
 
D

danielloantonio

Utente Attivo
20 Lug 2012
110
0
0
  • 25 Lug 2012
  • #26
No non va... no saprei dirti perche non va perche di questo codice ci ho capito poco (sono poco esperto)... !!!

P.S. non è "revicer" ma "reciver"
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 25 Lug 2012
  • #27
ciao
sai dirmi se da errori e quali?
 
D

danielloantonio

Utente Attivo
20 Lug 2012
110
0
0
  • 25 Lug 2012
  • #28
No non da errori ma non mi stampa i dati! Solo le intestazione ad ex messagguo :... E poi niente
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 25 Lug 2012
  • #29
ciao
ecco ho trovato due errori
1.
correggi la riga
PHP:
$ultimo['$id_sen']['$id_rev']=$riga_3['time'];
togliendo gli apici a $ultimo
PHP:
$ultimo[$id_sen][$id_rev]=$riga_3['time'];

2.
correggi la riga
PHP:
$data=date("d-m-Y H:i:s",$riga_4['id']);
al posto di id metti time
PHP:
$data=date("d-m-Y H:i:s",$riga_4['time']);

ora fa qualcosa, ma non so se è quello che vuoi (dovrei avere la tabella messages con più dati)
comunque verifica e correggi i nomi dei campi nelle istruzioni $riga_xy['verifica_qui'] che devono essere uguali a qualli in tabella
 
D

danielloantonio

Utente Attivo
20 Lug 2012
110
0
0
  • 25 Lug 2012
  • #30
Si funziona ma cosa cambia dal vecchio ? perche comunque ora non mi ordina ne per time ne per check
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 25 Lug 2012
  • #31
ciao, a parte l'ordine che non ho guardato:
la prima versione tirava fuori l'ultimo messaggio di pinco in assoluto indipendentemente a chi lo aveva inviato
l'ultimo messaggio di pinco
l'ultimo messaggio di asdrubale
ecc..

questo (dovrebbe) tirare fuori
l'ultimo messaggio di pinco inviato a pallo
l'ultimo messaggio di pinco inviato a pallino
l'ultimo messaggio di pinco inviato a sempronio
l'ultimo messaggio di asdrubale inviato a sofonisba
l'ultimo messaggio di asdrubale inviato a pallino
ecc....
 
D

danielloantonio

Utente Attivo
20 Lug 2012
110
0
0
  • 25 Lug 2012
  • #32
Ah ho capito!

E per l'ordine non c'è niente da fare?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 25 Lug 2012
  • #33
ciao
non so, non ho provato
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 29 Lug 2012
  • #34
ciao
in una discussione simile è salatato fuori il problema del nome di un campo
tu usi come nome check, sembrerebbe, ma da verificare, che sia una parola riservata di mysql, prova a cambiare il nome nella tabella e nello script (es, chec) e prova a mettere dove ti servere l'order by
 
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
Devi accedere o registrarti per poter rispondere.

Discussioni simili

C
In VBA estrapolare i dati di una Query e memorizzarli in variabili.
  • Ciccio_54
  • 14 Lug 2024
  • MS Access
Risposte
0
Visite
3K
MS Access 14 Lug 2024
Ciccio_54
C
A
media degli elementi estratti da una query
  • AndreaCerre
  • 20 Giu 2022
  • MySQL
Risposte
0
Visite
1K
MySQL 20 Giu 2022
AndreaCerre
A
S
Selezionare ultimo record di una sotto query
  • stefanoxjx
  • 19 Giu 2021
  • MySQL
  • 2
Risposte
27
Visite
5K
MySQL 28 Gen 2022
Webeiem
W
V
  • Bloccata
Query per una somma
  • Vincanto
  • 11 Giu 2021
  • PHP
Risposte
2
Visite
1K
PHP 11 Giu 2021
Max 1
G
Casella combinata in una query
  • Giancor
  • 5 Feb 2021
  • MS Access
Risposte
4
Visite
2K
MS Access 6 Feb 2021
Giancor
G
D
assegnare risultato di una jquery ad una text
  • Domenico2013
  • 18 Ott 2020
  • Javascript
Risposte
2
Visite
1K
Javascript 20 Ott 2020
Domenico2013
D
Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET
  • elpirata
  • 28 Lug 2020
  • PHP
Risposte
5
Visite
3K
PHP 28 Lug 2020
Hormus
H
M
Ordinare una query join
  • Max61
  • 9 Giu 2020
  • PHP
Risposte
2
Visite
1K
PHP 9 Giu 2020
Max61
M
M
inserire i dati ottenuti da una jquery in una tabella già esistente
  • Mattuso
  • 10 Lug 2019
  • jQuery
Risposte
1
Visite
3K
jQuery 11 Lug 2019
Mattuso
M
[PHP] Media valori presi da una query
  • Tommy03
  • 30 Giu 2019
  • PHP
Risposte
3
Visite
2K
PHP 1 Lug 2019
macus_adi
M
[MySQL] CREARE UN LINK SU UN DETERMINATO CAMPO DI UNA TABELLA RISULTATO DI UNA QUERY SQL
  • Menicox73
  • 25 Apr 2019
  • MySQL
Risposte
3
Visite
5K
MySQL 25 Apr 2019
Menicox73
M
M
leggere con jquery/ajax in una function javascript record di database sql server
  • misonsan
  • 22 Mar 2019
  • Javascript
Risposte
0
Visite
2K
Javascript 22 Mar 2019
misonsan
M
P
[MS ACCESS] Estrarre più somme da una query
  • Peano
  • 27 Feb 2019
  • MS Access
Risposte
4
Visite
2K
MS Access 28 Feb 2019
CarlettoFed
C
G
[PHP] Oracle, convertire una query multiline in Json
  • GiulioBallabio
  • 10 Ott 2018
  • PHP
Risposte
3
Visite
7K
PHP 10 Ott 2018
marino51
A
[PHP] Modifica caratteri di una query Oracle SQL
  • Andrea Franz
  • 26 Set 2018
  • PHP
Risposte
0
Visite
1K
PHP 26 Set 2018
Andrea Franz
A
G
[PHP] inserire risultato di una query in una tabella
  • giacomo9783
  • 16 Mag 2018
  • PHP
Risposte
3
Visite
5K
PHP 16 Mag 2018
marino51
[MySQL] commenti in una query
  • napuleone
  • 28 Gen 2018
  • MySQL
Risposte
1
Visite
5K
MySQL 28 Gen 2018
napuleone
M
[MS Access] Passare i dati di una query da form a report
  • Max61
  • 10 Gen 2018
  • MS Access
Risposte
3
Visite
4K
MS Access 11 Gen 2018
marino51
[Javascript] [jQuery] Slick Carousel: visualizzare una porzione dell'immagine successiva
  • felino
  • 22 Nov 2017
  • Javascript
Risposte
0
Visite
1K
Javascript 22 Nov 2017
felino
[PHP] Ciclare una query JOIN
  • simgia
  • 7 Nov 2017
  • PHP
Risposte
2
Visite
2K
PHP 8 Nov 2017
jonnino2004
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?