Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 3.639 pregleda

Najnovija ↓

Friend relationship 25.01.2016. u 17:51 · pre 131 mesec #1
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.



Potpis
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.
Re: Friend relationship 25.01.2016. u 18:19 · pre 131 mesec #2
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
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Friend relationship 25.01.2016. u 18:22 · pre 131 mesec #3
Zaboravih da stavim da kolona status je:
`status` ENUM('0','1','2') DEFAULT '0',
Potpis
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.
Re: Friend relationship 25.01.2016. u 18:56 · pre 131 mesec #5
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
Potpis
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.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme