E' natale lo so... ma ho un problema su una query :S

danielloantonio

Utente Attivo
20 Lug 2012
110
0
0
Salve,

prima di tutto auguri a tutti e scusate il momento meno opportuno per postare :) ma ho un problema con una query che ho trovato in un vecchio progetto a cui stavo lavorando...

Tabella posts
id, user, message.....
Tabella friendship
id, x, y (x chi invia la richiesta, y chi la riceve)
Eccola: "SELECT * FROM posts LEFT JOIN friendship ON posts.user=friendship.y WHERE (friendship.x='$id' OR posts.user = '$id') ORDER BY -time LIMIT 50" (dove $id è l'id dell'user loggato al momento)

Dovrebbe, perche non va, selezionare solo i post dei miei amici (dichiarati nella tabella friendship) da tutti uelli presenti nel database e, ovviamente, anche i post che ho condiviso io! Ma le righe restituite sono 0...

Come posso risolvere???

Inolte pensavo, e scusate l'ignoranza ma non riusciro mai a capire il JOIN...., se ho capito bene questa query restituisce i post solo quando l'utente che ha condivisio quel post è la Y della tabella friendship... ma a me interessa prendere tutti quelli degli amici indifferentemente se x sono io e y e lui o se x e lui e y sono io! Erro?

Grazie mille a tutti e scusate ancora il disturbo! :p
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
PHP:
$strquery="SELECT * FROM stato INNER JOIN utenti ON idemail=email WHERE '$myemail'=stato.idemail OR stato.idemail IN (SELECT email2 FROM friendship, utenti WHERE email1 = '$myemail' AND email2 = email) OR stato.idemail IN (SELECT email1 FROM friendship, utenti WHERE email2 = '$myemail' AND email1 = email) ORDER BY time DESC";

Questo lo avevo già pronto e funzionante..cambia solo email1 e email2 con x e y e prendo anche i dati di tutti gli utenti che hanno pubblicato qualcosa.. Ovviamente ci deve essere una tabella utenti.
Potresti facilmente adattarlo.
 

danielloantonio

Utente Attivo
20 Lug 2012
110
0
0
Ma non è troppo elaborata? Ripeto non so niente di JOIN...

LA QUERY QUINDI DOVREBBE ESSERE :
$strquery="SELECT * FROM posts INNER JOIN friendship ON x='$id' WHERE '$id'=posts.user OR posts.user IN (SELECT y FROM friendship, users WHERE x = '$id' AND y = ??????????????) OR posts.user IN (SELECT x FROM friendship, users WHERE y = '$id' AND x = ???????) ORDER BY time DESC";
???

Non ci capisco niente :S

Potresti chiarirmi nei vari passaggi cosa fa?
Grazie mille cmq per avermi risposto :)
 

danielloantonio

Utente Attivo
20 Lug 2012
110
0
0
Ok diciamo che guardando bene .a query ho "risolto"...

Eccola:
$postsquery = mysql_query("SELECT * FROM posts LEFT JOIN friendship ON posts.user=friendship.y WHERE (friendship.x='$id OR posts.user = '$id')");

Ed effettivamente prende solo i post di cui sono amico!
Questo pero solo se sono stato io an inviare la richiesta di amicizia cioè nella tabella friendship io sono x e il mio amico è y! Se inverto i due valori stampa solo i miei post!
C'è un modo per risolvere o quando inserisco l'amicizia nel db devo per forza mettere due valori cioè x=io y=l'altro e x=l'altro y=io????

Inoltre se inserisco ORDER BY -time LIMIT 50 non funziona più
Sarà che devo mettere ORDER BY posts.time DESC LIMIT 50 ????

Grazxie a tutti
 

danielloantonio

Utente Attivo
20 Lug 2012
110
0
0
Anche se in effetti potrebbe andare bene xk io non voglio fare una vera e propria amicizia ma piu un "followind" come twitter... quindi chi segue (la x) puo vedere i post della y cioè di chi sta seguendo ma la y non puo vedere quelli dlla x ! così se la y vuole vedere i post della x deve seguirla e quindi si inserisce nel dd un'altra riga!
Giustoo?!?! Ahah
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Allora si in questo caso è esatta in quanto devi selezionare solo i post di quelli che segui.
 
Discussioni simili
Autore Titolo Forum Risposte Data
P problema con il countdown per la fine dell'anno e per natale Javascript 13
A Problema urgente da risolvere prima di Natale Flash 1
Max 1 Importante BUON NATALE Altri Annunci 1
Max 1 Buon Natale Discussioni Varie 4
G [VENDO] Realizzazione Siti Web *Sconti Natale* Offerte e Richieste di Lavoro e/o Collaborazione 0
U Buon Natale e Buon Anno a Tutti Presentati al Forum 1
easypopularity **PROMO NATALE** Fans, like, seguaci lowcost Annunci servizi di Social Media Marketing 0
G [VENDO] Articoli con tema "Natale" (idee regalo, decorazioni, riciclare i regali ecc) Offerte e Richieste di Lavoro e/o Collaborazione 0
ypsilon86 Buon Natale a tutti Presentati al Forum 3
O Concorso di Natale OfferBox Per Natale chiedi quello che vuoi! OfferBox te lo regala! Altri Annunci 0
N PLAYSTATION 3 a natale????? Presenta il tuo Sito 2
S Regalo di Natale - Libro "Cane Sciolto" Presenta il tuo Sito 0
maxbossi Buon Natale a tutti! Discussioni Varie 5
A Pacco Di Natale! Discussioni Varie 2
peppoweb ALERT: Cartolina di Natale? Un virus Sicurezza e Virus 0
I Buon Natale Discussioni Varie 1
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1
D problema php mysql PHP 1
M Problema Wi-Fi Linux Linux e Software 0
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
Daniele_Carrara Problema Aperture Mailup Email Marketing 5
F PROBLEMA ACCESSO INSTAGRAM Discussioni Varie 2
R Problema connessione db PHP 7
M problema if PHP 2
G Problema con Get page PHP 4
N Problema passaggio variabili tra pagine PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 0
H problema carrello woocommerce PHP 2
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0

Discussioni simili