Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Mysql तालिका में अंतिम कॉलम कैसे जोड़ें

आपके द्वारा पोस्ट किए गए कोड को देखते हुए, मैं इसे इस तरह से हैंडल करूंगा।

सबसे पहले, मैं एक साहचर्य लुकअप सरणी बनाउंगा जिसकी कुंजियाँ स्तंभ नाम हैं और जिनके मान संबंधित बिंदु मान हैं; यह कुछ इस तरह दिखेगा:

$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 से हटा दिया गया है। साथ ही, मुझे दृढ़ता से संदेह है कि आपकी क्वेरी को सरल और बेहतर बनाया जा सकता है, लेकिन मुझे कुछ भी सुझाव देने के लिए आधार तालिका देखने की आवश्यकता होगी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. उन सभी डेटा का चयन कैसे करें जिनकी इनपुट सरणी मिली और mysql में नहीं मिली

  2. स्थानीय होस्ट पर PHP फ़ाइल से MySQL डेटाबेस तक पहुंचना

  3. MySQL में MATCH () फ़ंक्शन कैसे काम करता है

  4. MySQL के IF EXISTS का उपयोग

  5. बाएं बाहरी जुड़ाव का उपयोग कब करें?