/ / एक mysql क्वेरी परिणाम सरणी को कैसे फंसाया - implode

एक mysql क्वेरी परिणाम सरणी - implode कैसे implode करने के लिए

मैं एक SQL क्वेरी चला रहा हूं जो 18 परिणाम देता है फिर मैं उन्हें फंसाने की कोशिश करता हूं। जब मैं सही समय के बाद आदेश का उपयोग करें mysqli_fetch_array फंसाना mysqli_fetch_array परिणाम, मुझे केवल सरणी का पहला तत्व मिलता है। हालांकि जब मैं थोड़ी देर के लूप के साथ ऐसा करता हूं तो यह ठीक काम करता है।

यहाँ मेरा कोड है: (यह समझने में आसानी के लिए सरलीकृत है)

$q = "SELECT id from sr WHERE m_id = "4";";
$my_query = mysqli_query($conn, $q);

$records = mysqli_num_rows($my_query);
echo "records=" . $records;

$result = mysqli_fetch_array($my_query, MYSQLI_ASSOC);
print_r ($result);

$imploded_result = implode(",", $result);
echo "imploded_result=" . $imploded_result;

यहाँ मुझे क्या मिलेगा:

records=14
Array ( [id] => 14 )
imploded_result=14

अब, जब मैं प्रत्यारोपण () के बजाय थोड़ी देर के लूप का उपयोग करता हूं, तो मुझे सही परिणाम मिलते हैं:

$imploded_result = "";
while ($result = mysqli_fetch_array($my_query, MYSQLI_ASSOC))
$imploded_result .= $result["id"] . ",";
echo "imploded_result=" . $imploded_result;

मुझे मिला:

imploded_result=14,21,24,27,28,30,31,32,37,152,155,154,156,157,158,159,181,196,

आपका अग्रिम में ही बहुत धन्यवाद!

उत्तर:

जवाब के लिए 0 № 1

मामले में किसी और को एक समान परिणाम प्राप्त करने की आवश्यकता है। मैंने अपनी क्वेरी लाइन में GROUP_CONCAT का उपयोग करने का निर्णय लिया। इसलिए मैंने अपनी क्वेरी लाइन को यहां से बदल दिया:

$q = "SELECT id from sr WHERE m_id = "4";";

सेवा मेरे:

$q = "SELECT GROUP_CONCAT(id ORDER BY id ASC SEPARATOR ",") AS id from sr WHERE m_id = "4";";

जो मुझे मेरा वांछित परिणाम देगा।