यहाँ मेरा कार्य है - मुझे एक त्रुटि मिलती है।

चर में $data['stars'] मुझे अमान्य के साथ सितारों की अधिकतम संख्या मिली है

मुझे डेटाबेस से सही सितारे चाहिए क्योंकि वास्तव में स्टार टेबल अलग हैं इसलिए इसलिए।

क्या सटीक मान प्राप्त करने के लिए इस फॉर्च्यून में किसी अन्य तालिका से सितारे प्राप्त करना संभव है?

public function dbmovies()
{
    $this->db->order_by("videos_id", "desc");
    $this->db->where(array('publication' => 1, 'is_tvseries' => 0));
    $query = $this->db->get('videos');

    //get stars
    foreach ($query->result() as $key => $value) {
        $this->db->where_in('star_id', $value->stars);

        $queryStars = $this->db->get('star');
            $stars=array();

        foreach ($queryStars->result() as $star) {
            $stars[] = $star->star_name;
            $starone = implode(", ", $stars);

        }

        $data['videoId'] = $value->videos_id;
        $data['imdbid'] = $value->imdbid;
        $data['title'] = $value->title;
        $data['description'] = $value->description;
        $data['duration'] = $value->runtime;
        $data['views'] = $value->total_view;
        $data['stars'] = $starone;

        $alldata[] = $data;
    }

    $get['data'] = $alldata;
    echo json_encode($get, JSON_PRETTY_PRINT);
}

और tge आउटपुट मुझे इस तरह मिलता है

{
    "data": [
        {
            "videoId": "47",
            "imdbid": "tt2935510",
            "title": "Ad Astra",
            "description": "<p>The near future, a time when both hope and hardships drive humanity to look to the stars and beyond. While a mysterious phenomenon menaces to destroy life on planet Earth, astronaut Roy McBride undertakes a mission across the immensity of space and its many perils to uncover the truth about a lost expedition that decades before boldly faced emptiness and silence in search of the unknown.<\/p>",
            "duration": "123 Min",
            "views": "2",
            "stars": "Brad Pitt"
        },
        {
            "videoId": "45",
            "imdbid": "tt8243160",
            "title": "Hacker",
            "description": "<p>13-year-old Benjamin discovers that his mother didn\u2019t die in an accident as he was led to believe. The trail leads to high-ranking officials in the Danish Secret Service. \"Trust no one!\", he is told.<\/p>",
            "duration": "96 Min",
            "views": "93",
            "stars": "Brad Pitt, Rumle Krs"
        },
        {
            "videoId": "44",
            "imdbid": "tt7131622",
            "title": "Once Upon a Time... in Hollywood",
            "description": "<p>A faded television actor and his stunt double strive to achieve fame and success in the film industry during the final years of Hollywood's Golden Age in 1969 Los Angeles.<\/p>",
            "duration": "161 Min",
            "views": "71",
            "stars": "Brad Pitt, Rumle Krs, Leonardo DiCaprio"
        },

क्या कोई मेरी मदद कर सकता हैं?

0
Faisal Sharif 17 मार्च 2020, 12:51
इसके लिए आप ज्वाइन क्वेरी का उपयोग कर सकते हैं! वैसे भी मैंने आपका प्रश्न अपडेट किया है इसे आजमाएं !!
 – 
Boominathan Elango
17 मार्च 2020, 13:07
इसने काम किया लेकिन मुझे सिर्फ 1 स्टार मिलता है और प्रति वीडियो लगभग न्यूनतम 2 स्टार है
 – 
Faisal Sharif
17 मार्च 2020, 13:12
असल में इसमें """1567,2096,2097,2098" जैसे स्टार आईडी शामिल हैं और हम डीबी से आईडी की जांच करते हैं और स्टार नाम प्राप्त करते हैं
 – 
Faisal Sharif
17 मार्च 2020, 13:18
कृपया अधिक विवरण साझा करें - आपके प्रश्न का शीर्षक आपके द्वारा प्रदान किए गए कोड को नहीं दर्शाता है
 – 
Nico Haase
18 मार्च 2020, 18:50

2 जवाब

आपको $starone वेरिएबल को foreach लूप के बाहर ले जाना होगा ताकि यह लूप के अंदर ओवरराइट न हो जाए:

        foreach ($queryStars->result() as $star) {
            $stars[] = $star->star_name;
        }
        $starone = implode(", ", $stars);
0
Hasta Dhana 17 मार्च 2020, 13:42

Foreach $stars=array(); . से पहले खाली सरणी जोड़ें

           $stars=array();
        foreach ($queryStars->result() as $star) {
            $stars[] = $star->star_name;
            $starone = implode(", ", $stars);
        }
0
Martijn Pieters 20 मार्च 2020, 14:57