आपके द्वारा पोस्ट किए गए कोड को देखते हुए, मैं इसे इस तरह से हैंडल करूंगा।
सबसे पहले, मैं एक साहचर्य लुकअप सरणी बनाउंगा जिसकी कुंजियाँ स्तंभ नाम हैं और जिनके मान संबंधित बिंदु मान हैं; यह कुछ इस तरह दिखेगा:
$pointVals = array('email1' => 2, 'email2' => 5, 'email3' => 2, ... );
आप इस सरणी को अपनी इच्छानुसार उत्पन्न कर सकते हैं; मैं शायद इसे डेटाबेस में लुकअप टेबल से पढ़ूंगा। ध्यान दें कि इस सरणी में केवल वे कॉलम हैं जिनके लिए गणना प्रासंगिक है।
इसके बाद, मैं निम्नलिखित कोड अंदर शामिल करूंगा आपका while
फंदा। $row
आपके कॉल द्वारा mysql_fetch_array()
पर लौटाया गया रिकॉर्ड ऐरे है ।
while ($row = mysql_fetch_array($result)) {
... // existing code goes here
$rowSum = 0;
foreach($pointVals as $colName => $val)
{
if(isset($row[$colName]) && !empty($row[$colName]))
$rowSum += $val;
}
... // do stuff with $rowSum here
}
ऐसा कहने के बाद, मैं आपको mysql . से कनवर्ट करने के लिए दृढ़ता से प्रोत्साहित करूंगा ड्राइवर से mysqli या पीडीओ , mysql . के रूप में बहिष्कृत है और PHP 7 से हटा दिया गया है। साथ ही, मुझे दृढ़ता से संदेह है कि आपकी क्वेरी को सरल और बेहतर बनाया जा सकता है, लेकिन मुझे कुछ भी सुझाव देने के लिए आधार तालिका देखने की आवश्यकता होगी।