इसे करने का एक तरीका:
(यह मानते हुए कि आप पहले से ही जानते हैं कि किसी फ़ाइल को कैसे खोलना है और किसी क्वेरी को कैसे निष्पादित करना है।)
पहले अपने CSV से पंक्तियों को पढ़ें और मान लें कि SQL में डेटा अनुपलब्ध है।
while (($row = fgetcsv($file)) !== FALSE) {
$num = $row[0]; // or whatever CSV column the value you want is in
$result[$num] = ['csv' => $num, 'sql' => '', 'status' => 'MISSING IN SQL'];
}
फिर अपनी क्वेरी से पंक्तियाँ प्राप्त करें और आपके द्वारा CSV से बनाई गई सरणी को तदनुसार भरें।
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$num = $row['EAN']; // or whatever your column is named
if (isset($result[$num])) {
// This has a value from the CSV, so update the array
$result[$num]['sql'] = $num;
$result[$num]['status'] = 'OK';
} else {
// This doesn't have a value from the CSV, so insert a new row
$result[$num] = ['csv' => '', 'sql' => $num, 'status' => 'MISSING IN CSV'];
}
}
आप इसका क्रम बदल सकते हैं और पहले क्वेरी परिणामों को संसाधित कर सकते हैं। कोई भी ऑर्डर तब तक काम करेगा, जब तक आप दूसरे डेटा स्रोत के साथ अपडेट/इन्सर्ट लॉजिक करते हैं।
आप ksort($result);
. कर सकते हैं यदि आप मर्ज किए गए मानों को क्रम में रखना चाहते हैं, तो आउटपुट $result
हालाँकि आपको इसकी आवश्यकता है।