2013-05-07 7 views
6

मैं आईडी के माध्यम से डाटा खोजना चाहते हैं, मुझे लगता है किपरिणाम सेट होने पर डेटा कैसे ढूंढें सरणी में है?

$result= 

Array 
(

    [3] => 536371014 
    [38] => 1435902884 
    [53] => 100000224980743 
) 

उपयोगकर्ता _ id की तरह एक सरणी

[3], [38], [53] 
मेरे उपयोगकर्ता tabe में

है

user_id name 
    3   usii 
    38   test 
    53   test 2 

मैं सभी डेटा प्राप्त करना चाहते है उपयोगकर्ता आईडी के माध्यम से, मैं परिणाम आईडी उपयोगकर्ता आईडी के साथ ऐसा कैसे कर सकता हूं, मैंने बहुत कोशिश की लेकिन सफलता प्राप्त नहीं हुई, कृपया मुझे ऐसा करने में मदद करें, एक टन पहले से धन्यवाद।

+2

मुझे नहीं पता कि आप क्या पूछ रहे हैं। "सभी डेटा ढूंढने" के साथ आपका क्या मतलब है? यदि यह एक एसक्यूएल क्वेरी है जिसका उपयोग आप 'WHERE user_id = 3'' करते हैं और जब सरणी में आप इस आईडी का उपयोग करते हुए 'echo $ result [3] ' –

+0

का उपयोग करते हैं, [38], [38], [53]' नाम ढूंढने के लिए तालिका में ????? – rynhe

+0

'$ परिणाम [$ user_id] 'कोई विकल्प नहीं है? – BlitZ

उत्तर

6

इस

foreach($result as $val) { 

    echo $val[$user_id]; 
} 
3

कुछ इस तरह काम करना चाहिए की तरह foreach का उपयोग करें (क्रूर छद्म कोड)

in_list = implode(", ", array_keys($result)); 
$all_users = mysql.query("select * from user_table where user_id in (" . in_list . ");"; 

array_keys तुम सिर्फ इस्तेमाल किया अनुक्रमित की एक सरणी देना चाहिए (3, 38 और 53)
"," के साथ इंपोड के रूप में गोंद आपको एक "3, 38, 53" की तरह एक स्ट्रिंग देना चाहिए जो एक mysql IN condition के लिए उपयुक्त है।

2
$user_ids = implode(",",array_keys($result)); 
$query = "SELECT * FROM usertable WHERE user_id IN (".$user_ids.")"; 
संबंधित मुद्दे