php mysql concatenate sent and received messages -
प्रयोक्ता संदेशों को प्रदर्शित करने वाले निजी मैसेजिंग सिस्टम।
â ?? ¢ उपयोगकर्ताओं को एक साथ समूहीकृत किए गए संदेशों को भेजा और प्राप्त किया गया प्रत्येक संदेश टैब द्वारा प्रेषक / रिसीवर के नाम, संदेश और समय-समय पर कोई भी युक्तियां - जैसे कि अनुक्रमित, आदि को कैसे सुधारें? / P>
संदेश तालिका -------------- आईडी प्रेषक रिसीवर टाइम_एसेंट संदेश प्राप्तकर्ता प्राप्तकर्ता भेजें प्रेषक हटाएं उपयोगकर्ता तालिका ----------- आईडी first_name last_name < / Code> मेरा प्रयास:
$ userid = उपयोगकर्ता $ क्वेरी = "चुनें MAX (आईडी), प्रेषक, रिसीवर, MIN (time_sent), संदेश, संदेश से खोला गया जहां (रिसीवर = '$ यूजरआईड' और प्राप्तकर्ता डेलेट = '0') या (प्रेषक = '$ यूजरआईड' और प्रेषक डेलेट = '0') रिसीवर द्वारा ग्रुप, प्रेषक ORDER द्वारा टाइम_एसेंट डीईएससी LIMIT 8 "; RESULT / समस्या:
अगर लॉग इन उपयोगकर्ता (आईडी = 3) दो उपयोगकर्ताओं (आईडी = 1, और आईडी = 2) से संदेश प्राप्त करता है, यह क्वेरी उपयोगकर्ताओं 1 और 2 से भेजे गए संदेशों को वापस लौटाएगी दूसरा प्रयास:
$ query = "चुनें MAX (आईडी), प्रेषक, रिसीवर, मिन (समय_सेंट), संदेश, जब से प्रेषक = '$ userid' या प्राप्तकर्ता = '$ userid' या प्रेषक = '$ userid' समूह द्वारा प्रेषक = '$ userid' तब से प्राप्तकर्ता का चयन करें जब प्रेषक = '$ userid' प्रेषक ELSE प्रेषक मिनट (समय_सेंट) प्रेषक = '$ userid' THEN रिसीवर ELSE प्रेषक END) समयसीमा DESC LIMIT 8 "; एक त्रुटि मिली।
आप एक से चयन कर रहे हैं व्युत्पन्न तालिका MySQL में, उस उप-क्वेरी को अलियाज़ किया जाना चाहिए:
SELECT ... से (SELECT ...) के रूप में subqueryalias ^^^^^^^^^^^^^^^^ WHERE ...
Comments
Post a Comment