Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Friend relationship

[es] :: MySQL :: Friend relationship

[ Pregleda: 2976 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.static.madnet.rs.



+7 Profil

icon Friend relationship25.01.2016. u 16:51 - pre 100 meseci
Drustvo na sajtu na kome radim slicnom FB -u treba da se odradi da ima mogucnost slanja zahteva za prijateljstvo, primanje zahteva, izlistavanja zahteva itd...
Sve sam ja to uradio ali mislim da sam u samom startu postavio neke tehničke stvari pogrešno i da sam se sada malo spetljao u svemu ovome.

Imam table:

accounts - Sadrzi informacije o nekom registrovanom nalogu (account_id, account_firstname, account_lastname, account_email, itd...).
friends - Ova tabela sadrži relacije izmedju dva naloga i status da li je zahtev za prijateljstvo prihvaćen ili nije.

Code:

friend_one  friend_two  status  
----------  ----------  --------
         7           2           0       
         7           1           0       
         2           1           0       



E sada da posaljem zahtev za prijateljstvo upit je sledeci:
Code:
INSERT INTO friends (friend_one,friend_two) VALUES ('$user_id','$friend_id');


Da potrvdim zahtev za prijateljstvo:
Code:

UPDATE friends SET status="1" 
WHERE (friend_one="$user_id" OR friend_two="$user_id")
AND (friend_one="$friend_id" OR friend_two="$friend_id");


E sve ovo super radi slanje zahteva, prihvatanje zahteva i brisanje zahteva ali ja sam zakucao oko upita kako da prikazem listu mojih zahteva. Npr ko je meni poslao zahtev za prijateljstvo.

Ja sam pokusao sa upitom:

Code:
SELECT f.*
FROM friends f
WHERE (f.friend_one = 1 OR f.friend_two = 1 AND f.status = 0)


Dobijam null, prazane kolone.... A kada stavim status = 1 dobijem sve zahteve za 1. Spetljo sam se

Jel moze neko da mi da predlog kako da prikazem sve moje zahteve naravno trebacu i da spojim sa tabelom accounts da uzmem ime i prezime korisnika prilikom izlistavanja.




Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: Friend relationship25.01.2016. u 17:19 - pre 100 meseci
ma koliko je prijateljstvo dvostrana stvar taj status treba da bude komplikovaniji od 0/1 (bice ti zahtev vec u sledecoj verziji) sa varijantom 0 - a poslao b zahtev, 1 - a follow b, 2 a friend but not follow b, 3 a blocked b ... tako da kada posaljes zahtev (a to b) imas a,b,0, kada se prihvati zahtev u startu imas a,b,1 + b,a,1 (deluje da se dupliraju podaci ali u stvari ne) i onda ako a unfollow b ali ostane friend imas a,b,2 + b,a,1 (vidis da nije duplikat) .. na dalje ti i upiti budu jednostavniji kad pitas za a uvek pitas where prvi_id = a i ne moras da radis where prvi ili drugi id = a kao sto sad moras

drugo ako juris listu zahteva koje si poslao uvek gledas da je tvoj id = prvi_id, ako juris listu zahteva poslatih tebi uvek tvoj id = drugi_id
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.static.madnet.rs.



+7 Profil

icon Re: Friend relationship25.01.2016. u 17:22 - pre 100 meseci
Zaboravih da stavim da kolona status je:
`status` ENUM('0','1','2') DEFAULT '0',
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Friend relationship25.01.2016. u 17:36 - pre 100 meseci
ne menja taj enum nista, cuvaj "jednosmernu" datu u bazi, bice ti mnogo
lakse :D
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.static.madnet.rs.



+7 Profil

icon Re: Friend relationship25.01.2016. u 17:56 - pre 100 meseci
Ma nije meni problem taj enum vec nemam ideju kako da ja sada spojim ove dve tabele da mi izlista zahteve za prijateljstvo koji su meni poslati.

Sta da uporedjujem u inner join friend_one = account_id. Nije mi jasno ni malo
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Friend relationship25.01.2016. u 20:01 - pre 100 meseci
da li si ti uopste procitao sta sam ti ja napisao?
 
Odgovor na temu

[es] :: MySQL :: Friend relationship

[ Pregleda: 2976 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.