मैं अपनी साइट पर प्रोफ़ाइल के लिए "हालिया गतिविधि" टैब बना रहा हूं और मुझे साइट पर होने वाली हर चीज़ को देखने के लिए मॉडरेटर के लिए लॉग भी होगा। इसके लिए किसी प्रकार का गतिविधि लॉग करने की आवश्यकता होगी।एक गतिविधि लॉग बनाने के लिए सबसे प्रभावी तरीका
मुझे नहीं पता कि बेहतर क्या होगा।
- एक मेज "गतिविधि" कहा जाता है सुनिश्चित करें और फिर हर बार जब कोई कुछ, एक रिकॉर्ड यह करने आदि कार्रवाई के प्रकार, उपयोगकर्ता आईडी, टाइमस्टैम्प,
- समस्या के साथ जोड़ता है: मैं 2 विकल्प हैं : तालिका बहुत लंबी हो सकती है।
- सभी 3 तालिकाओं (प्रश्न, उत्तर, answer_comments) और फिर किसी भी तरह जिस क्रम में कार्रवाई की गई थी में पृष्ठ पर इन सभी को दिखाने में शामिल हों।
- समस्या: इस बेहद मुश्किल होगा क्योंकि मुझे लगता है मैं यह कैसे कहते हैं कि कर सकता है कोई सुराग नहीं है "जॉन पर प्रश्न शीर्षक यहाँ एक उत्तर पर टिप्पणी की" सिर्फ 3 टेबल में शामिल होने से।
किसी को भी इस स्थिति में एक गतिविधि लॉग बनाने का एक बेहतर तरीका है के बारे में पता है? मैं PHP और MySQL का उपयोग कर रहा हूँ। यदि यह या तो बहुत अक्षम या कठिन है, तो शायद मैं प्रोफ़ाइल पर हालिया गतिविधि टैब को भूल जाऊंगा लेकिन मुझे अभी भी मॉडरेटर के लिए एक गतिविधि लॉग की आवश्यकता है।
यहाँ कुछ एसक्यूएल कि मैं विकल्प 2 के लिए करना शुरू कर दिया है, लेकिन पता लगाने के लिए कि क्या कार्रवाई एक टिप्पणी, सवाल यह है कि का कोई रास्ता नहीं है, क्योंकि यह काम नहीं होता है, या जवाब देने के जब मैं एक while
पाश में जानकारी गूंज:
SELECT q.*, a.*, ac.*
FROM questions q JOIN answers a ON a.questionid = q.qid
JOIN answer_comments ac ON c.answerid = a.ans_id
WHERE q.user = $userid
AND a.userid = $userid
AND ac.userid = $userid
ORDER BY q.created DESC, a.created DESC, ac.created DESC
किसी भी मदद के लिए अग्रिम धन्यवाद!
क्षमा करें, दूसरा वास्तव में होना चाहिए 'a.userid' (वह एक टाइपो था)। वैसे भी बहुत बहुत धन्यवाद! मैं इसे करने की कोशिश कर रहा हूं और यदि यह काम करता है तो मैं आपका जवाब स्वीकार करूँगा: डी और यह पहचानने के लिए धन्यवाद कि यह एक टिप्पणी, प्रश्न या उत्तर है क्योंकि मुझे कभी नहीं पता था कि आप ऐसा कर सकते हैं। – Nathan
यह बहुत अधिक काम करता है :) मुझे प्रश्न जानकारी प्राप्त करने के लिए प्रश्न तालिका में शामिल होने के साथ बस एक छोटी सी समस्या है इसलिए इसे लिंक और सामान जोड़ा जा सकता है। यहां SQL और PHP है: http://screencast.com/t/EJgdGkMPBB टिप्पणियों के किसी कारण से ऐसा लगता है कि यह प्रश्न आईडी को शीर्षक के रूप में दिखा रहा है और फिर उत्तर के लिए यह शीर्षक बिल्कुल नहीं दिखा रहा है: http: //screencast.com/t/qvDzliDs9U मुझे पता है कि कुछ सामान अभी तक '$ पंक्ति ['qSlug']' और सामान (जो शीर्षक का यूआरएल स्लग है) में नहीं है लेकिन इससे प्रभावित नहीं होना चाहिए अन्य सामान – Nathan
एसोसिएटिव कुंजी का नाम ** पहले ** 'चयन' से आता है। आपको पहले सभी सामान्य कॉलम का चयन करना चाहिए ('आईडी, बनाया गया, q_id, q_title'), फिर अंतिम कॉलम (' a.ans_id' और 'ac.id') चुनें। यह कोई दोष नहीं है - 'यूनियन' को एक ही डेटा का चयन करने के लिए डिज़ाइन किया गया है। रिक्त शीर्षक के लिए, आप 'q_title' के बजाय' qTitle' का उपयोग कर रहे हैं। – andrewtweber