Jump to content
php.lv forumi

SQL JOIN / WHERE problēma


Recommended Posts

Posted

Tabulas:

 

event [id, .... user_id]

favorite [id, event_id, user_id]

 

Lietotājs ielogojas sistēmā un sadaļā "Mani pasākumi" tur rāda lietotāja pievienotos pasākumus ar SQL - http://screencast.com/t/XOPGrIyar.'>http://screencast.com/t/XOPGrIyar. Piemērā lietotāja (UID=13) pievienotie pasākumi.

 

Tā, ka katru pasākumu pats lietotājs un citi var atzīmēt kā favorītu, tad tiek joinota klāt favorītu (favorite) tabula. Līdzīgi arī city un user tabula (bet tas nav šobrīd svarīgi).

 

Piejoinojot favorite tabulu, ja lietotāja pasākumu izvēlējušies vairāki citi lietotāji, rindu skaits selektā dublēsies, jo favorītu tabulā ar attiecīgo favorite.event_id būs vairāki ieraksti.

 

Man vajadzīgs lai tādā gadījumā paņemtu $_SESSION['uid'] jeb lietotāja ID, kurš ir ielogojies un kura pasākumi tie ir.

 

Rakstu šādi, bet nestrādā:

 

 

event.user_id = '".$_SESSION['uid']."'

AND event.date_start >= '".$today_date."'

AND (favorite.user_id = '".$_SESSION['uid']."' OR favorite.user_id IS NULL)

 

Šajā gadījumā http://screencast.com/t/XOPGrIyar vajag, lai tiek paņemts no apvilktām rindām, tā kur favorite_user_id = 13.

Guest
This topic is now closed to further replies.
×
×
  • Create New...