Jump to content
php.lv forumi

SQL JOIN / WHERE problēma


senters

Recommended Posts

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.

Link to comment
Share on other sites

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