उदाहरण:

मैसकल - टेबल_डाटा

  dataid   dataname    datastatus
    1        joel          1
    1        joelle        2
    1        joe           3
    1        joela         4
    1        joella        5

पीएचपी

 $names = array('joel','joelle','joe','joela');
 foreach($names as $name)
 {
    $qcheck = $this->db->query("SELECT * FROM table_data WHERE dataname=".$name."");
     //Do checking here
 }

मुझे कैसे पता चलेगा कि जोएल, जोएल, जो और जोएला दास्तात्तुस सभी समान हैं और एक ही नहीं हैं?

मैं उस उदाहरण के आउटपुट को कैसे जान सकता हूं .. आउटपुट झूठा होना चाहिए क्योंकि सभी की स्थिति समान नहीं है, और यदि सभी स्थिति समान हैं तो मुझे यह कैसे पता चलेगा?

आशा है कि कोई मेरी मदद कर सकता है अग्रिम धन्यवाद ..

0
Joel Enanod Jr 16 नवम्बर 2015, 12:12

4 जवाब

सबसे बढ़िया उत्तर

इस अनुकूलित तर्क को आज़माएं:

$namesStr = implode(',', $names);
$qcheck = $this->db->query("SELECT COUNT(DISTINCT datastatus) AS dataCount FROM table_data WHERE dataname IN($namesStr)");
$allSame = FALSE;
if ($qcheck->num_rows() >  0) {
    if ($qcheck->row()->dataCount == 1) {
        $allSame = TRUE;
    }
}
2
Sanjay Kumar N S 16 नवम्बर 2015, 09:21

नीचे की तरह अपनी क्वेरी को संशोधित करें।

$namesStr = "'" . implode("','", $names) . "'";
$qcheck = $this->db->query("SELECT COUNT(DISTINCT datastatus) AS dataCount FROM table_data WHERE dataname IN ($namesStr)");

आपकी क्वेरी की तरह दिखेगा ...

SELECT COUNT(DISTINCT datastatus) AS dataCount FROM table_data WHERE dataname IN ('joel','joelle','joe','joela')
1
Ashwini Agarwal 16 नवम्बर 2015, 09:53

आप इस तरह की कोशिश कर सकते हैं,

$names = array('joel','joelle','joe','joela');
$qcheck = $this->db->query("SELECT datastatus FROM table_data WHERE dataname=".$name."")->result_array;
foreach($names as $name)
{
    if(in_array($name,$qcheck)){
        //name exists
    } else {
        //name doesnot exists
    }
}
0
Niranjan N Raju 16 नवम्बर 2015, 09:20

इस तर्क की कोशिश करो

implode array की आवश्यकता नहीं है। बस इस तरह where_in में सरणी पास करें-

        $names = array('joel','joelle','joe','joela');
        $this->db->select("COUNT(DISTINCT datastatus) AS dataCount");
        $this->db->from("table_data");
        $this->db->where_in('dataname',$names);
        $q=$this->db->get();

        if($q->num_rows() >  0){
            $result=$q->row();

            if ($result->dataCount == 1) {
                echo "true";
            }
        }
0
Arvind Jaiswal 16 नवम्बर 2015, 10:44